<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def possibly_award(self, **state):
 """ Will see if the user should be awarded a badge. If this badge is asynchronous it just queues up the badge awarding. """

        assert "user" in state
        if self.async:
            from .tasks import AsyncBadgeAward
            state = self.freeze(**state)
            AsyncBadgeAward.delay(self, state)
            return
        self.actually_possibly_award(**state)