На каждую такую проблему можно сделать системное решение по алгоритму чтения-записи данных. В Вашем случае это будут алгоритмы функций возвращающие нужные значения, исходя из имеющихся данных и обрабатывающие их изменения. А закрывается ситуация хорошей документацией на эти алгоритмы, доступной для разработчиков. По хорошему надо запретить прямой доступ к данным и сделать алгоритимические геттеры и сеттеры, чтобы исключить ситуацию, когда кто то мимо алгоритмов будет читать данные для алгоритмов.