а я специально запретил прямой доступ

на всякий случай.
у меня болезнь "орхитектора", т.е. , если в один прекрасный момент придется например позицию задавать вектором (или вообще в матрице), а не значением, то изменится только реализация, все исходники будут и дальше компилится, программа будет и дальше работать как надо.