Cache functions
Update background colour
Return observation finalisation reason
Add finished observations