fixing jump logic and allowing key listeners to handle all gamestates