Fixed bug of classes returning callables, refactor to extract ExecutableFactory from injector.

This should work right?
Hmm - I've just realised that there is probably a circular dependency between Provider and ExecutableFactory which would stop anyone actually being able to pass in their own version...tbh just removing the ability to add your own executableFactory might be the best choice.