InputController register and notifies listeners.
InputController can listen to multiple controls.
Initializing controller in init, instead of in every update.