Distinct PlayerEvent and EngineEvent. Some implementations and tests