Moving common logic to IInputState