Thanks for the writeup Thomas. Some things are a little unclear:
* “One particular step can be used in more than one feature” – you mean step definition I suppose (steps are in gherkin)
* The recent change not allowing methods in JUnit classes doesn’t have anything to do with performance.
* You say “methods are instantiated twice”. Did you mean “classes are instantiated twice”?
* Not sure what you mean by “JUnit runner creates all its methods”? You mean JUnit instantiates classes?
The main reason for this change is to prevent step definitions to be coupled to a particular feature (so they can be reused in other features).
The short answer is, you don’t. The long answer is that it might get very complicated if you have parameters that are mandatory for some test and not relevant for others. I can think of at least one case where it is possible that it would be nice to have a the functionality similar to a parametrized class. I will write up an example that might give you a one hint one way of getting the functionality similar to a parametrized JUnit class. Stay tuned for he upcoming days.