PlayerInput class