Return the promise itself, no need to warp it all in another promise.
Cache the base object, this will give a speed improvement.
The return new Obj() is now done in the loader.