Adds an observer to watch state changes.
Example:
watching changes { old, new -> println("$old -> $new") }