Make config implicit

So we can pass it down the stack to our other classes more easily.
Also makes it an attribute of the implementation class so runtime config is available in tests.