code: function(tpl) {
      var deferred = Q.defer();
  
      var templateName = tpl ? tpl : 'default';
  
      // TODO: use view resolver
      var pathToTemplate = path.join(pathToApp, 'core/views/clarify', templateName + '.ejs');
      var userPathToTemplate = path.join(global.app.get('user'), 'core/views/clarify', templateName + '.ejs');
  
      // First we check user tempalte, then core
      fs.readFile(userPathToTemplate, 'utf-8', function(err, data){
          if (err) {
  
              fs.readFile(pathToTemplate, 'utf-8', function(err, data){
                  if (err) {
                      deferred.reject(err);
                      return;
                  }
  
                  deferred.resolve(data);
              });
              return;
          }
  
          deferred.resolve(data);
      });
  
      return deferred.promise;
  }
docs: TODO JSdoc