Input API refactoring: events, methods