def __init__(self, thing, name, value, metadata=None):
self.thing = thing<EOL>self.name = name<EOL>self.value = value<EOL>self.href_prefix = '<STR_LIT>'<EOL>self.href = '<STR_LIT>'.format(self.name)<EOL>self.metadata = metadata if metadata is not None else {}<EOL>self.value.on('<STR_LIT>', lambda _: self.thing.property_notify(self))<EOL>
Initialize the object.

thing -- the Thing this property belongs to
name -- name of the property
value -- Value object to hold the property value
metadata -- property metadata, i.e. type, description, unit, etc.,
            as a dict