docs: def destroy_page(self, tab_dict):
          """ Destroys desired page
  
          Disconnects the page from signals and removes interconnection to parent-controller or observables.
  
          :param tab_dict: Tab-dictionary that holds all necessary information of a page and state-editor.
          """
          # logger.info("destroy page %s" % tab_dict['controller'].model.state.get_path())
          if tab_dict['source_code_changed_handler_id'] is not None:
              handler_id = tab_dict['source_code_changed_handler_id']
              if tab_dict['controller'].view.source_view.get_buffer().handler_is_connected(handler_id):
                  tab_dict['controller'].view.source_view.get_buffer().disconnect(handler_id)
              else:
                  logger.warning("Source code changed handler of state {0} was already removed.".format(tab_dict['state_m']))
          self.remove_controller(tab_dict['controller'])