Refactoring collision logic into Entity