added child_changed events and more tests