code: def serialize(self):
          
          cls = self.__class__
          # id is not in *_properties
          res = {'uuid': self.uuid}
          for prop in cls.properties:
              if hasattr(self, prop) and getattr(self, prop, None) is not None:
                  res[prop] = serialize(getattr(self, prop), True)
          for prop in cls.running_properties:
              if hasattr(self, prop) and getattr(self, prop, None) is not None:
                  res[prop] = serialize(getattr(self, prop), True)
  
          return res
docs: This function serialize into a simple dict object.
          It is used when transferring data to other daemons over the network (http)
  
          Here is the generic function that simply export attributes declared in the
          properties dictionary and the running_properties of the object.
  
          :return: Dictionary containing key and value from properties and running_properties
          :rtype: dict