Use std::set to organize the parent-children relation in Drawable