Insert Observation works, refactor a bit