nitpicky naming thing but i find it best not to name factory methods (methods that just create new objects) with get to avoid a semantic conflict with an actual getter method. Just newExectutor() or createNewExecutor() i find is more descriptive.