Refactoring tile class to have less ambiguity about its methods purpose