This function adds another empty layer (Layer) to the layers
        list and optionally merges a given object into this layer

        :param obj: An object to be merged with this layer
        :type obj: object

def add_layer(self, obj=None):
        """This function adds another empty layer (Layer) to the layers
        list and optionally merges a given object into this layer

        :param obj: An object to be merged with this layer
        :type obj: object
        """
        new_layer = Layer()
        if obj:
            new_layer.merge(obj)
        self.layers.append(new_layer)