fix hanging observer, add convenience method.