+ Type* type_; /* Type of this container */
+ Container* parent_;
+ std::map<std::string, Container*, std::less<>> children_;
+
+protected:
+ static void set_root(Container* root) { root_container_ = root; }
+
+private:
+ static xbt::signal<void(Container const&)> on_creation;
+ static xbt::signal<void(Container const&)> on_destruction;