Refactor model objects to be primitives

This is to allow easier syncing with firebase
Add saving game state with firebase