C# Windows Forms App: Separate GUI from Business Logic
===

I would like some advice on how to separate the UI and business logic in a simple C# Windows Forms Application.

Let's take this example:

The UI consists of a simple textbox and a button. The user enters a number between 0 and 9 and clicks the button. The program should add 10 to the number and update the text box with that value.

![enter image description here][1]

The business logic part should have no idea of the UI. How can this be accomplished? 


  [1]: http://i.stack.imgur.com/5k46F.png

Here's the empty Process class (Business Logic):

    namespace addTen
    {
        class Process
        {
            public int AddTen(int num)
            {
                return num + 10;
            }
        }
    }


The requirement is:

1. When the user clicks the button, somehow, the Process::AddTen gets invoked.
2. The Textbox must be updated with the return value of Process::AddTen.

I just don't know how to connect these two.
