Ребят, есть алгоритм сборки кубика Рубика, архитектуру описывал подобным образом: есть класс Cube для описания всего куба, в котором иннер классы для описания граней куба, которые унаследованы от базового класса matrix, который описан вне классa Cube, насколько это решение рациональное и что вы могли бы предложить?