virtual bool dirty() const =0
virtual void set_dirty()=0
virtual void set_clean()=0
virtual void remove_controller(i_controller &aController)=0
virtual void add_controller(i_controller &aController)=0
declare_event(modified) declare_event(controller_added
#define declare_event(declName,...)