И еще добавлю: по опыту, расширять modUser — не удачная идея. Я уже пробовал, и с этим связано очень много проблем, особенно ввиду того, что в классе modX жестко прописано при инициализации пользователя получать именно modUser. Сами понимаете какие из-за этого вытекают проблемы. Вот поэтому я не расширяю modUser, а добавляю класс связанного объекта, и просто добавляю эту связь базовому классу. Пример добавления таких связей. На выходе вы получаете новые связанные объекты с базовым юзером без лишних заморочек (только пропишите extendedPackage и все). И в любом месте сможете работать с $modx->user->addOne(), $modx->user->getOne() и т.п. Это гораздо практичней.