Maybe you could extend this class to have an abstract method to use in the TheGreatMansion.interpret-method? It might improve readability.