:V abstraction! .. of InputListener. Now it's an interface.