@classmethod
def start(cls, ctx, question_list, settings):
    """Create and start a trivia session.

        This allows the session to manage the running and cancellation of its
        own tasks.

        Parameters
        ----------
        ctx : `commands.Context`
            Same as `TriviaSession.ctx`
        question_list : `dict`
            Same as `TriviaSession.question_list`
        settings : `dict`
            Same as `TriviaSession.settings`

        Returns
        -------
        TriviaSession
            The new trivia session being run.

        """
    session = cls(ctx, question_list, settings)
    loop = ctx.bot.loop
    session._task = loop.create_task(session.run())
    session._task.add_done_callback(session._error_handler)
    return session
