added observe/unobserve tests, fixed bugs