Ensures StageGroup getters return unmodifiable copies of it's map
Adds a getSize method to StageGroup and uses it instead of getStages().size()