The choice of which region splitter to use should be made outside of this method. The state can be set in the constructor (it doesn't need to be a singleton).