adds ServiceLoader to allow Deferred to be called Di