code: function (func, args) {
              var isFunc = isFunction(func);
              var desc = function (subViews) {
                  var i = -1;
                  var len = subViews.length;
                  var subView;
                  var _func;
                  while (++i < len) {
                      subView = subViews[i];
                      _func = isFunc ? func : subView[func];
                      if (_func) {
                          if (args) { _func.apply(subView, args);
                          } else { _func.call(subViews[i]); }
                      }
                      if (subView.subViews && subView.subViews.length) {
                          desc(subView.subViews);
                      }
                  }
              };
              desc(this.subViews);
              return this;
          }
docs: Iterate through every subView, calling a function or invoking a method on
  each of them. If a subView has it's own subViews, then it will recursively
  iterate over those as well. The context is switched to the subView calling
  the function/method.
  @memberOf SubViewManager#
  @type {SubViewManager}
  @param {String|Function} func
  A string name of a method to call in the subviews or a function that
  will be called for each view
  @param {Array} [args] An array of arguments to pass to the method/function
  @return {SubViewManager}