docs: public void setProperty(String property, Object newValue) {
          if (newValue instanceof Closure) {
              if (property.equals(CONSTRUCTOR)) {
                  property = GROOVY_CONSTRUCTOR;
              }
              Closure callable = (Closure) newValue;
              final List<MetaMethod> list = ClosureMetaMethod.createMethodList(property, theClass, callable);
              for (MetaMethod method : list) {
                  // here we don't care if the method exists or not we assume the
                  // developer is responsible and wants to override methods where necessary
                  registerInstanceMethod(method);
              }
          } else {
              registerBeanProperty(property, newValue);
          }
      }