refactored base controller constructor
added eventlistener capability
added the event listerner capability