Integrated observer pattern and runnables