Moved to a system where ui events are pasesd into the controllers.

Controllers now have a setup method, so anything that injects a
controller can just call go() to start the service or what have you and
reissue all the setting of callbacks etc.