Refactored input state, Added enemy state, added projectile state, implemented aforementioned