Я предполагаю, что вы всегда можете создать объект, заполнить некоторые поля и затем сериализовать объект в строку, которую вы можете сохранить в файл. Если вы затем десериализовали эту строку, вы получите свой оригинальный объект. Не упустите ссылки на объекты или ресурсы, которые не могут быть сериализованы или должны быть воссозданы при сериализации.
Как только вы получите эту работу в одном классе, вы можете написать поведение (в Propel 1.5), которое добавит его ко всем классам вашей модели.