def interpret(parent, keyword, *args, &block)
          options = args.last.is_a?(Hash) ? args.pop : {}
          UI::CustomWidget.for(keyword).new(parent, *args, options, &block).tap do |new_custom_widget|
            new_custom_widget.body_root.paint_pixel_by_pixel(&block) if block&.parameters&.count == 2