reorganise and improve the System implementation
simplify the threading interface
Drawer: only resize the children when necessary