public function save($callback) { foreach ($this as $object) { call_user_func($callback, $object); if ($object->changes()) { $object->save(); } } return $this; }