All this context handle stuff basically looks like a duplicate of what is provided by the EE concurrency subsystem, and is also very similar to what is provided by various ServerSetupTask implementations around the place. 

I am not 100% sure about your requirements, but if you just want to execute a task with the same context this is exactly what the EE concurrency spec is for, and I think it would make sense to re-use it.