I wonder if you should just change `consumeCueSettings` to take a second arg, namely the cue, and have settings get added directly to this object vs. having them go on the `Settings` internal `value` property--it would save you having to do the copy step that happens next.