Refactor - map behaviour is controlled by MapState model