Cleaning up Listeners

1. IListener now only contains Event. Action was removed and ICallback
made private again
2. RemoveListener method added to Event, to allow deregistration of
listeners