docs: def to_dict(self):
          """Converts VDOM object to a dictionary that passes our schema
          """
          attributes = dict(self.attributes.items())
          if self.style:
              attributes.update({"style": dict(self.style.items())})
          vdom_dict = {'tagName': self.tag_name, 'attributes': attributes}
          if self.event_handlers:
              event_handlers = dict(self.event_handlers.items())
              for key, value in event_handlers.items():
                  value = create_event_handler(key, value)
                  event_handlers[key] = value
              vdom_dict['eventHandlers'] = event_handlers
          if self.key:
              vdom_dict['key'] = self.key
          vdom_dict['children'] = [c.to_dict() if isinstance(c, VDOM) else c for c in self.children]
          return vdom_dict