this is all pretty horrible, i'm going to rewrite this to perhaps be immutable as it's currently only used with Redux Spectrum for JavaScript/TypeScript A Spectrum format implementation for TypeScript/JavaScript. Features validation parsing and serialization