docs: function (referencePath, baseLogicalPath, callerClasspath, onLoad, handler) {
      var args = convertArguments(arguments);
      if (args.onLoad) {
          asyncRequire(args.provider).spreadSync(function (providerConstr) {
              return fetchDataAfterLoading(providerConstr, args);
          }).then(function () {
              var callerPrototype = Aria.getClassRef(args.caller).prototype;
              callerPrototype[args.onLoad].call(callerPrototype);
          }).done();
      }
      return {
          provider : getInstanceFromStore(args)
      };
  }