First pass on player input tracking

Very convoluted for what it does atm. Patience.