Change Map methods from returning a new map to a modified copy

So under the previous implementation a new map with only a copy of meta and modified data, however this can lead to changed being lost when they probably shouldn't be.

@rhewett ??