rename method, support manual removal of observers
add test for manual removal of observers