pub trait StoreExt<T>{
type Store: Store<T::Id, T>;
// Required methods
fn store(&self) -> &Self::Store;
fn store_mut(&mut self) -> &mut Self::Store;
// Provided methods
fn get(&self, item: T) -> Option<&T> { ... }
fn get_mut(&mut self, item: T) -> Option<&mut T> { ... }
fn insert(&mut self, item: T) -> Option<T> { ... }
fn remove(&mut self, item: T) -> Option<T> { ... }
}