'@param domain: The property domain name.
@type domain: str
@param definitions: A table of property definitions.
@type definitions: {name: L{Definition}}
@param kwargs: A list of property name/values to set.
@type kwargs: dict'

def __init__(self, domain, definitions, kwargs):

    self.definitions = {}
    for d in definitions:
        self.definitions[d.name] = d
    self.domain = domain
    self.links = []
    self.defined = {}
    self.modified = set()
    self.prime()
    self.update(kwargs)
