input: Refactoring API - WIP