iOS application architecture: MVVM, behaviors, singletons, subclassing · HackerTrans