Function<Object[],P>
public interface ProfileFactory<P extends UserProfile> extends Function<Object[],P>
andThen, apply, compose