Refactors model initialization

Decouples intialization from View
Refactors game logic into its own file