When the context persists what is the callback for completion? What is the manner people will be adding in the callback? I need to modify the completion check code to pick out from the Context's options the 'complete', 'success', 'failure', which ones do we want to have?

Does it look like this? (from the shared doc, what Beau wrote)
```
with Context() as ctx:
    ctx.on_complete(complete_method, document_id, revision, share_id, other_completion)

    for index, section_id in enumerate(sectionids_to_commit):
        logging.info("Adding section to share %s.", section_id)

        ctx.add(
            commit_section_and_support_data,
            kwargs={
                'membership_id': membership_id,
                'document_id': document_id,
                'section_id': section_id,
                'revision': revision,
            },
            task_args={
                'countdown': (index / TIME_INSERT_MODIFIER)
            }
        )
```

or are we going towards something like this?

```
with context.new() as batch:
    batch.on_complete_event = Async(target=complete_handler, args=[a, b, c])
    batch.on_success_event = Async(target=success_handler, args=[a, b, c])
    batch.on_failure_event = Async(target=failure_handler, args=[a, b, c])
 
    batch.add(....
```

or are we starting with some sort of options injection

```
with context.new() as batch:
   batch.get_options['callbacks'].update({'success': Async(target=success_handler)})
```