def METHOD_NAME(self, user=None, text=None, path=None, target=None, parent=None, convert_newlines=True):
    if not path:
        raise ValueError("Must include a path when adding a comment")
    if not user:
        raise ValueError("Must include a user when adding a comment")
    text = clean_html(text, convert_newlines)
    comment = self.model(
        user=user,
        path=path,
        text=text,
    )
    if target is not None:
        comment.target_content_type = ContentType.objects.get_for_model(target)
        comment.target_object_id = target.id
    # if quest is not None:
    #     comment.quest = quest
    if parent is not None:
        comment.parent = parent
    comment.save(using=self._db)
    # add anchor target to Comment path now that id assigned when saved
    comment.path += "#comment-" + str(comment.id)
    comment.save(using=self._db)
    return comment