def build_components(widget_list):
  '''
  :param widget_list: list of dicts containing widget info (name, type, etc..)
  :return: ComponentList

  Converts the Json widget information into concrete wx Widget types
  '''
  required_args, optional_args  = partition(widget_list, is_required)
  checkbox_args, general_args = partition(map(build_widget, optional_args), is_checkbox)

  required_args = map(build_widget, required_args)
  optional_args = general_args + checkbox_args

  return ComponentList(required_args, optional_args)
:param widget_list: list of dicts containing widget info (name, type, etc..)
  :return: ComponentList

  Converts the Json widget information into concrete wx Widget types