Index: trunk/nv/root.hh
===================================================================
--- trunk/nv/root.hh	(revision 104)
+++ trunk/nv/root.hh	(revision 105)
@@ -19,4 +19,6 @@
 	{
 	public:
+		virtual void child_added( object* ) {}
+		virtual void child_removed( object* ) {}
 		type_database* get_type_database() const { return m_type_database; }
 		lua::state*    get_lua_state()     const { return m_lua_state; }
Index: trunk/src/object.cc
===================================================================
--- trunk/src/object.cc	(revision 104)
+++ trunk/src/object.cc	(revision 105)
@@ -51,4 +51,5 @@
 		m_children.push_back( child );
 		m_child_count++;
+		m_root->child_added( child );
 	}
 }
@@ -65,4 +66,5 @@
 		(*it)->m_parent = nullptr;
 		m_children.erase(it);
+		m_root->child_removed( child );
 	}	
 }
