Function decorator for a cleanup coroutine.

def cleaner(self, coro):
        """ Function decorator for a cleanup coroutine. """
        if not asyncio.iscoroutinefunction(coro):
            coro = asyncio.coroutine(coro)
        self.add_cleaner(coro)
        return coro