Refactored engine a bit and started fixing encapsulation issues with the game models