Added InputManager and InputListener (with lambda func)