<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_update_event(self):
 """Parse the update messages DSL to insert the data into the Event. Returns: list[fleaker.peewee.EventStorageMixin]: All the events that were created for the update. """

        events = []

        for fields, rules in iteritems(self._meta.update_messages):
            if not isinstance(fields, (list, tuple, set)):
                fields = (fields,)

            changed = any([
                getattr(self, field) != getattr(self.get_original(), field)
                for field in fields
            ])

            if changed:
                event = self.create_audit_event(code=rules['code'])
                event.body = rules['message']
                event.meta = self.parse_meta(rules['meta'])
                events.append(event)

        self.update_event_callback(events)

        with db.database.atomic():
            for event in events:
                event.save()

        return events