Solving circular reference in include
refactoring animation to be state
moving the event logic out of player to its state