Moved components name/order to virtual methods.
Simplify WObj::ComponentsByOrder because components now store their order.
WObj::ComponentsByOrder is now a forward_list.
Use forward_list to store on_remove callbacks.