register a widget with arguments