There's a lot of code in app.ts that has to do with things like adhocProgressionMode and wled stuff. These things should be better de-centralized.
Wled stuff can all go into the wled service, then expose the intended actions on the app object if necessary. app.wledActions.changePreset. That seems fine to me. Then WledService defines what those actions are.
jamtools/springboard#29 (comment)