Parametrized agent

In reply to galloth:

I was assuming you do not need the agents/interfaces with different parameters at the same time.
What you are proposing is a possible solution.