code: private <T> Creator<T> register(ConstructorKey key, Constructor<T> constructor, CreationModifier<T> modifier) {
  
          Creator<T> creator = new ReflectionCreator<T>(constructor);
  
          if (modifier != null) creator = new ModifiedCreator<T>(creator, modifier);
  
          return register(key, creator);
      }
docs: Register a constructor key with a public constructor.
  
  @param key         the key to register this constructor with
  @param constructor the constructor to invoke when the key is match
  @param <T>         the type the constructor will create
  @return return the constructor passed as the parameter