An override of the treebeard add_child() method so we can send a signal.

def add_child(self, story_element_type=None, outline=None, name=None, description=None, **kwargs):
        '''
        An override of the treebeard add_child() method so we can send a signal.
        '''
        if not outline:
            outline = self.outline
        if outline != self.outline:
            raise IntegrityError('Elements must be from the same outline!')
        tree_manipulation.send(
            sender=self.__class__,
            instance=self,
            action='add_child',
            target_node_type=story_element_type,
            target_node=None,
            pos=None
        )
        return super().add_child(
            story_element_type=story_element_type,
            outline=outline,
            name=name,
            description=description,
            **kwargs
        )