rename propertyChanged to dispatchPropertyChange to avoid conflicting with a property named property.
only publish the ownProperty publish block on the element prototype. This ensures we do not override a prototype value with an inherited published value.
add bind reflection api: Polymer.getBinding