Fixed and made states() and parents() as generators. Remaining: add_observation, remove_observation.