StoreModel is a thin wrapper of Immutable data around for a Class
uses the internal immutable map to hold all values.
This allows us a base class on which we can extend and inject
into any Redux store as we follow Immutability
Also ships with a helper static method to create unique IDs