Migrate from the consumer model to ExecutorService. The consumer was not flexible and was less reliable.