Coding Test of a Blackjack game on iOS using MVVM, TDD (mostly!), Gamestate pattern, Swift 4, SOLID design priniciples