Fix bug: ClientRouter was not calling super run method

- Moved assignment of current controller to base class
- ClientRouter now calls super run method inside an autorun callback
- unload now works properly as a result
- TODO: tests