docs: def append(self, component, default=False):
          """ Add one component to the block
          
          :param default: if true this component will be use by default
          :type default: bool
          """
          if not isinstance(component, Composable):
              if callable(component):
                  component = Composable(component)
              else:
                  raise ValueError("component '%s' is not Optionable nor Composable and even not callable" % component)
          if component.name in self._components:
              raise ValueError("We already have a component with the name '%s'" % component.name)
          self._components[component.name] = component
          if default:
              if self.multiple:
                  self.defaults = self.defaults + [component.name]
              else:
                  self.defaults = component.name
          self._logger.info("<block: %s> add component: %s:%s" % (self.name, component.name, component))