the difference is that Behat 2 was passing an array of parameters in the constructor. Your new construcotr works only because the parameter is optional.