How to write a factor to use different Inject types in 3.0


I am new to Gatling and Scala.

I am trying to write a factory method to call different method which return inject profile like (“constantUsersPerSec(usr).during(duration minutes)”) based on the given Input .

As I see there is no common base class for all Inject profile.I have different methods.
1 method gives constantUsersPerSec()
2nd method gives rampUsersPerSec()
3rd method gives constantConcurrentUsers()
4th method gives incrementUsersPerSec()

I will be passing the method return to setup(myScenerio.inject(callingMyFactoryMethod(“GivenTestType”)))

Because all profile is not having a common class, I am not able to write factory method.

Any possible way to achieve this? My ultimate goal is based on user selected Load Test type(Say Continuous load , Step Load etc),I need to execute the corresponding Inject profiles.