in src/composer/composer.py [0:0]
def task(task):
''' detect task type and create corresponding composition object '''
if task is undefined:
raise ComposerError('Invalid argument in "task" combinator', task)
if task is None:
return composer.empty()
if isinstance(task, Composition):
return task
if callable(task):
return composer.function(task)
if isinstance(task, str): # python3 only
return composer.action(task)
raise ComposerError('Invalid argument "task" in "task" combinator', task)