Hook player join and leave events
Refactor Entity to not need bytecode modification