Allow user to create task objects without pre-existing dictionary; also allow user to create task using serialized data.
Merge branch 'more_flexible_task_objects' into inthe_am