public delegate void EqualEventHandler(object sender, EventArgs e); class Calculator { public event EqualEventHandler EqualsEvent; public void Equals() { // Do your actual work here! // Then call OnEquals. // You could make a custom EventArgs base class here to include extra info if you liked. OnEquals(EventArgs.Empty); } protected virtual void OnEquals(EventArgs e) { if (EqualsEvent != null) EqualsEvent(this, e); } } class SomeCalcView { Calculator cal; SomeCalcView() { cal = new Calculator(); cal.EqualsEvent += new EqualEventHandler(cal_EqualsEvent); // Register event } void cal_EqualsEvent(object sender, EventArgs e) { // Tell your UI to update the display!!! } }