I feel this should follow a builder pattern.

I would define my own `Executor`,`JsonHandler`. The default would be ones you specify.