Remove the old 'action for control' stuff, add an interface that can be used to register and dispatch control events
Move the default control router into a class of its own
Add a default control event handler to generate the appropriate events every time a control's state changes