TaskProvider = function (_mongoose, _TaskMdl) {
  mongoose = _mongoose;
  Grid.mongo = mongoose.mongo;
  TaskMdl = _TaskMdl;
  Roller = require("./roller")(mongoose, _TaskMdl);
  dbUtils = require("./utils/db.utils")(mongoose);
  native.setDbUtils(dbUtils);
  modelCache = dbUtils.modelCache;
  setModel = dbUtils.setModel;
  getModel = dbUtils.getModel;

  goose.setDbUtils(dbUtils);

  return Task;
}
Provider for the Task class. It initializes all the
required variables and returns the Task class. Used
internally.

@param _mongoose The mongoose instance to be used
@param _TaskMdl The mongoose model for tasks (where tasks are stored)
@returns {Task}

@constructor