Changed the input handling structure so now only the input target has access to the current input states.
Changed where the repeat bit is stored so it is in a more logical location