A set of interfaces and base implmentations for creating MVC controls