added factory method for MapState, renamed Gamestate to map state, updated state stack