Stores

Reducable stores inspired by Redux

```rust struct Counter { v:u32 }

enum Action{ Increment }

impl Reduceable for Counter { fn reduce(state:Arc>,&action:Action) -> Arc>{ let mut s = state.lock(); match action { _ => { s.v += 1; } } state.clone() } }

fn main() { let r = Store::::get().lock(); r.watch(|state|{ println!("state changed! {:?}", state); }); r.dispatch(&Action::Increment); } ```