We shouldn't create multiple instances of either. Also remove a bit of unused code in appDisplay.
To avoid loading applications from two different systems, use ShellAppSystem solely. This unifies the initial load and the reload. Extend ShellAppSystem to also load settings/preferences, and ensure they appear in the search.
This makes it clearer that really we're now an API, not just a monitor.