Ok I found where I went awry. It appears that using can.extend(App.prototype, can.event) actually breaks the event bubbling that allows for something like {app} singer.shout.
Looks like a bug imo