def METHOD_NAME(command_fn):
    """
    Decorator function which returns a wrapper function that adds a loading
    react before the wrapped command has run and removes it once it has
    successfully completed. This gives a visual cue to users in the calling
    channel that the command is in progress.
    """
    @wraps(command_fn)
    def wrapper(command: uqcsbot.Command):
        reaction_kwargs = {'name': choice(LOADING_REACTS),
                           'channel': command.channel_id,
                           'timestamp': command.message['ts']}
        uqcsbot.bot.api.reactions.add(**reaction_kwargs)
        res = command_fn(command)
        uqcsbot.bot.api.reactions.remove(**reaction_kwargs)
        return res
    return wrapper