docs: function createAbstractClass(params, constructor) {
          var def,
              savedMembers,
              key,
              value;
  
          // Handle abstract methods
          if (hasOwn(params, '$abstracts')) {
              savedMembers = params.$abstracts;
              delete params.$abstracts;
          }
  
          // Create the class definition
          def = Class.$create(params, constructor);
          def[$abstract] = true;
  
          // Grab binds
          if (savedMembers) {
              for (key in savedMembers) {
                  value = savedMembers[key];
  
                  if (value[$bound]) {
                      insert(def[$class].binds, key);
                  }
              }
          }
  
          return def;
      }