docs: def as_dict(self):
          """ dict repr of the components """
          drepr = {
              'blocks': [
                  block.as_dict() for block in self if block.hidden == False
              ],
              'args': list(self.needed_inputs())
          }
          return drepr