code: private <O extends Featurable> O createFeaturable(Class<O> type, Setup setup) throws NoSuchMethodException
      {
          final O featurable = UtilReflection.createReduce(type, services, setup);
          addFeatures(featurable, services, setup);
          for (final Feature feature : featurable.getFeatures())
          {
              featurable.checkListener(feature);
              for (final Feature other : featurable.getFeatures())
              {
                  if (feature != other)
                  {
                      other.checkListener(feature);
                  }
              }
          }
          return featurable;
      }
docs: Create the featurable.
  
  @param <O> The featurable type.
  @param type The featurable type.
  @param setup The associated setup.
  @return The featurable instance.
  @throws NoSuchMethodException If missing constructor.