More work on components widget