pub trait Repo<T, PT> { // Required method fn watch(&mut self, query: PT) -> Receiver<Vec<T>> where Self: Sized; }