Make Tile class not sub-class of Entity, refactoring