error = function error(type) {
        errorType = type;
      }
Checks changes after invoking the passed function for validity and rolls
them back if the changes turned out to be invalid.

@returns {Object} whatever object `callback` returns