code: function processPage(page, next){
  
  	page = _.clone(page);
  
  	// If it's an array, create parallel tasks
  	if(_.isArray(page)){
  		var tasks = [];
  
  		page.forEach(function(page){
  			// Create async task
  			tasks.push(function(next){
  				// Call this method egain, but with only one view
  				processPage(page, next);
  			});
  		});
  
  		// Run tasks
  		return async.parallel(tasks, next);
  	}
  
  	// Get module from page
  	var moduleName = page.module;
  
  	// Check if module is set
  	if(!moduleName){
  		console.log(TAG, 'Module not declared. skiping');
  		return next(null, page);
  	}
  
  	// Get module
  	var module = app.helpers.Modules.get('pageview', moduleName);
  
  	// Check if module is installed
  	if(!module){
  		console.log(TAG, 'Module <'+moduleName+'> is required but not installed. skiping');
  		return next(null, page);
  	}
  
  	// Check if 'process' method doesn't exist in module
  	if(!_.isFunction(module.process)){
  		console.log(TAG, 'Module <'+moduleName+'> does not have .process() method');
  		return next(null, page);
  	}
  
  	// Process single page
  	module.process(page, function(err, newPage){
  		if(err)
  			console.error(TAG, 'process() exception on module: ' + (''+moduleName).cyan);
  
  		return next(err, newPage);
  	});
  }
docs: /*
  This will run the 'module' with the self page, and return
  the value of the list of the pages.
  
  Assign an array to receive an array of pages.
  
  What it does:
  + Call sails.ViewModules[<page.module>].process(page)
  (it's installed under sails on bootstrap.js)
  + When it complete, return next(err, modifiedPage);