Кстати, имей ввиду, что еще в мемкеш можно объекты сохранять. Только там есть тонкости. Нельзя туда сохранить, к примеру, дескриптор соединения с базой данных. Есть в общем ООП-шные методы __sleep() и __wakeup(). __sleep() сработает прям перед сохранением (автоматически). В нем можно будет удалить переменные $modx и т.п., а __wakeup() сработает автоматически, когда будешь получать объект из кеша (в этот момент ему можно будет опять присвоить $modx). Тоже может пригодиться для тюннинга.