public bool TryGetExtendedDataFor(ThingWithComps twc, out ExtendedThingWithCompsData result)
        {
            int id = twc.thingIDNumber;

            if (_store.TryGetValue(id, out IExposable data) && data is ExtendedThingWithCompsData)
            {
                result = (ExtendedThingWithCompsData)data;
                return(true);
            }
            result = null;
            return(false);
        }
        public ExtendedThingWithCompsData GetExtendedDataFor(ThingWithComps twc)
        {
            int id = twc.thingIDNumber;

            if (_store.TryGetValue(id, out IExposable data) && data is ExtendedThingWithCompsData)
            {
                return((ExtendedThingWithCompsData)data);
            }

            ExtendedThingWithCompsData newExtendedData = new ExtendedThingWithCompsData();

            _store[id] = newExtendedData;
            return(newExtendedData);
        }