Add context manager from watson to router

Defers search update until all models are saved
Understood docs a bit better, things make sense now

Ignore previous TODO