we are using RedBeanPHP FUSE Models now. Classes with model events and a place to put validation and business logic.