Changing interface to require initialization with a configuration object.