Having a second `configuration` arg seems kinda odd to me as an interface.  It looks like you're just using it as a form of dependency injection for the tests, right?  Part of what makes it seem weird is that it's leaked into all the other orderers where they don't use `configuration` at all.

Instead, what do you think about accepting the configuration in `initialize` (and having it default to `RSpec.configuration` in the same way)?  To me, the config feels like a bit of state the instance should hold onto rather than being given each time `order` is called.  It also means the other orderers wouldn't need to take the odd second argument.

Thoughts?