kengine_input data buffer: holds the input events since last frame handler: reacts to input events systems system: forwards events from a buffer to handlers