<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def asynciotask( # noqa: F811 *, loop_getter: typing.Union[ ] = asyncio.get_event_loop, loop_getter_need_context: bool = False, """Wrap function in future and return. :param func: Function to wrap :param loop_getter: Method to get event loop, if wrap in asyncio task :type loop_getter: typing.Union[ asyncio.AbstractEventLoop ] :param loop_getter_need_context: Loop getter requires function context :type loop_getter_need_context: bool :return: AsyncIOTask instance, if called as function or argumented decorator, else callable wrapper """

    if func is None:
        return AsyncIOTask(func=func, loop_getter=loop_getter, loop_getter_need_context=loop_getter_need_context)
    return AsyncIOTask(  # type: ignore
        func=None, loop_getter=loop_getter, loop_getter_need_context=loop_getter_need_context
    )(func)