I'm sorry but [0] and [1] are complete non-issues and I'm not sure I fully understand your point with [3].
The code is very far from terrible. Go look at Marionette's source on github - you'll find it's extremely easy to understand and reason about. Now try and do the same with Angular or Ember...