Implement Factory pattern with multiple parameters and each parameters are interface
If I understand your intent and code properly then you rather have an abstract factory implementation than a factory method pattern implementation.

The Abstract Factory pattern, a class delegates the responsibility of object instantiation to another object via composition.


The Factory Method pattern uses inheritance and relies on a subclass to handle the desired object instantiation.

Reference 24th slide | Detailed discussion about the differences
Your FactoryFP exposes several methods to create multiple different objects (so called object family). Whereas a Factory Method's scope is a single object. And because of this an Abstract Factory can rely on multiple Factory Methods.

&quot;Is there a better way to get what I want than that?&quot;
As always it depends what do you want.

Do you want to hide direct object creation possibility? (Factory method refactoring)
Do you want to ease complex object creation? (Builder design pattern)
Do you want to have an easy to read complex object creation interface? (Fluent interface pattern)
etc.