Fix remaining observable cancel call to call remove instead
Update List and OnDemandList for new observable architecture
- Remove observe responsibility from List
- Add single, top-level observer in OnDemandList