Prevent circular dependency with disaptcher

Adding listeners to the dispatcher as it is instantiated creates a circular dependency whenever a listener (or one of its dependencies) also depends on the dispatcher. The issue is fixed by waiting until the container is fully populated to add listeners to the dispatcher.
Could be - your broken scenario is a formatter one.

Other things to check are setting the config file location at runtime, and extensions' ability to add commands.