So far, this looks great! I didn't get a chance to dig too deeply in the code so please excuse the questions that I should be able to get just from reading the code. What else is the APIApp class responsible for outside of the event handling and app setup? Are you using a Message Bus or something equivalent for event handling in the APIApp? Keep up the good work and I'll see if I can give you some more feedback when I have a bit more time to run through the code. Thanks for sharing.
Scope = Perspective (think like an object)
But before implementing the above, I am going to implement all the UI functionality first.
BTW. The ScriptManager is added just today