add a property observer and setter

This needs to use a raw 'message' listener because
the iframe-phone api doesn't hides the name of the property
being sent.