The InputHook delegate, which is called when input is received.
Represents data for a given input type.
Handles input and processes them in InputHooks.
This struct is message-passed to the InputManager thread, where it is then handled in it's corresponding hook.