refactors the EventHandler so that 'emit' is not a required function, and you can also specify if 'emit' should forward a message or create a new one
removes the ActorRef parameter in Moved (we can use the 'sender' var and actor forwarding instead), which also allows us to delete that stupid MoveAttempt class