InputStateHolder to the input package.
Code cleanup.
Refactoring.
Added tests, as well as a public method to put a state.
Formatting.