Player/Entity refactor