Auto context with async insertion

Making queue add an async call.

For now call queue.add_async() withing the context, and get the
results when the context is exited.

Working, DO NOT MERGE