docs: function ObservableMembers(options = {}) {
      return function (classDescriptor) {
          if (!options.noMethods) {
              addMethodsToClassDescriptor(classDescriptor);
          }
  
          // Add props to the prototype
          if (isArray(options.props)) {
              classDescriptor.elements.push(
                  ...options.props.map(propName => getElementDescriptorForProp(propName))
              )
          }
  
          // Add computed to the prototype
          if (options.computed) {
              objectKeys(options.computed).forEach(
                  propName => classDescriptor.elements.push(getElementDescriptorForProp(propName, options.computed[propName]))
              );
          }
  
          return classDescriptor;
      }
  }