A nice article by JFo explaining what should be the base class for UI objects..

https://blogs.msdn.com/jfoscoding/archive/2004/12/03/274186.aspx