docs: def perform_action(self, action):
          """ Perform actions in the api from the CLI """
          form = ToolForm
          s_action = form_action = action.split('_')[0]
          form_name = s_action.title() + ' tools'
          cores = False
          a_type = 'containers'
          forms = [action.upper() + 'TOOLS']
          form_args = {'color': 'CONTROL',
                       'names': [s_action],
                       'name': form_name,
                       'action_dict': {'action_name': s_action,
                                       'present_t': s_action + 'ing ' + a_type,
                                       'past_t': s_action.title() + ' ' + a_type,
                                       'action': form_action,
                                       'type': a_type,
                                       'cores': cores}}
          # grammar rules
          vowels = ['a', 'e', 'i', 'o', 'u']
  
          # consonant-vowel-consonant ending
          # Eg: stop -> stopping
          if s_action[-1] not in vowels and \
             s_action[-2] in vowels and \
             s_action[-3] not in vowels:
              form_args['action_dict']['present_t'] = s_action + \
                  s_action[-1] + 'ing ' + a_type
  
          # word ends with a 'e'
          # eg: remove -> removing
          if s_action[-1] == 'e':
              form_args['action_dict']['present_t'] = s_action[:-1] \
                  + 'ing ' + a_type
  
          if s_action == 'configure':
              form_args['names'].pop()
              form_args['names'].append('get_configure')
              form_args['names'].append('save_configure')
              form_args['names'].append('restart_tools')
          if action == 'add':
              form = AddForm
              forms = ['ADD', 'ADDOPTIONS', 'CHOOSETOOLS']
              form_args['name'] = 'Add plugins'
              form_args['name'] += '\t'*6 + '^Q to quit'
          elif action == 'inventory':
              form = InventoryToolsForm
              forms = ['INVENTORY']
              form_args = {'color': 'STANDOUT', 'name': 'Inventory of tools'}
          elif action == 'services':
              form = ServicesForm
              forms = ['SERVICES']
              form_args = {'color': 'STANDOUT',
                           'name': 'Plugin Services',
                           'core': True}
          elif action == 'services_external':
              form = ServicesForm
              forms = ['SERVICES']
              form_args = {'color': 'STANDOUT',
                           'name': 'External Services',
                           'core': True,
                           'external': True}
          form_args['name'] += '\t'*8 + '^T to toggle main'
          if s_action in self.view_togglable:
              form_args['name'] += '\t'*8 + '^V to toggle group view'
          try:
              self.remove_forms(forms)
              thr = Thread(target=self.add_form, args=(),
                           kwargs={'form': form,
                                   'form_name': forms[0],
                                   'form_args': form_args})
              thr.start()
              while thr.is_alive():
                  npyscreen.notify('Please wait, loading form...',
                                   title='Loading')
                  time.sleep(1)
          except Exception as e:  # pragma: no cover
              pass
          return