move level observer to parent constructor