code: def _connect_model(self, model):
          
  
          parts = self._prop_name.split(".")
          if len(parts) > 1:
              # identifies the model
              models = parts[:-1]
              Intermediate(model, models, self)
              for name in models:
                  model = getattr(model, name)
                  if not isinstance(model, Model):
                      raise TypeError("Attribute '" + name +
                                      "' was expected to be a Model, but found: " +
                                      str(model))
              prop = parts[-1]
          else: prop = parts[0]
  
          # prop is inside model?
          if not hasattr(model, prop):
              raise ValueError("Attribute '" + prop +
                               "' not found in model " + str(model))
  
          # is it observable?
          if model.has_property(prop):
              # we need to create an observing method before registering
              meth = types.MethodType(self._get_observer_fun(prop), self)
              setattr(self, meth.__name__, meth)
  
          self._prop = getattr(model, prop)
          self._prop_name = prop
  
          # registration of model:
          self._model = model
          self.observe_model(model)
docs: Used internally to connect the property into the model, and
          register self as a value observer for that property