'Pop parameter constraint values off the keyword arguments passed to
`Model.__init__` and store them in private instance attributes.'

def _initialize_constraints(self, kwargs):

    if hasattr(self, u'_constraints'):
        return
    self._constraints = {}
    for constraint in self.parameter_constraints:
        values = kwargs.pop(constraint, {})
        self._constraints[constraint] = values.copy()
        for param_name in self.param_names:
            param = getattr(self, param_name)
            value = getattr(param, constraint)
            if (value is not None):
                self._constraints[constraint][param_name] = value
    for constraint in self.model_constraints:
        values = kwargs.pop(constraint, [])
        self._constraints[constraint] = values
