Got it working with observe.
Cleaning up