I. (3+1)/3*9 = 12
Please Find II. and III. in PlayGrounds
IV. I chose MVVM + RxSwift mainly because the "reactive" nature of the project, it gets cumbersome at somepoint with architectures like MVP due to the amount of interfaces that needs to be created in order for everything to function correctly