Some initial redesign
GameFactory changes
Merge branch 'master' into gfchanges