Now SMTimeSeries should use delegation in methods that need implementing to the SizedContainerTimeSeriesInterface object that the storage manager returns to us. This ensures that SMTimeSeries is independent of the actual implementation (list/np.array/array.array, etc) of the sized time series and allows you to use previous work; while at the same time not having to create an overly large storage manager interface. You might want to think about how to minimize code repetition during this delegation
(Note): To think, but not to submit: instead of direct caching to a SizedContainerTimeSeriesInterface, how might you do this in the most lazy way possible? Also, how might you write a more performant storage manager implementation?
Now SMTimeSeries should use delegation in methods that need implementing to the SizedContainerTimeSeriesInterface object that the storage manager returns to us. This ensures that SMTimeSeries is independent of the actual implementation (list/np.array/array.array, etc) of the sized time series and allows you to use previous work; while at the same time not having to create an overly large storage manager interface. You might want to think about how to minimize code repetition during this delegation
(Note): To think, but not to submit: instead of direct caching to a SizedContainerTimeSeriesInterface, how might you do this in the most lazy way possible? Also, how might you write a more performant storage manager implementation?