WIP. Made all collect widgets follow the class hierarchy design.