Stop safari from blowing up
Use Object.defineProperty to safely get the property definitions
If Object.defineProperty doesn't exist fallback to just using grabbing the property.
Use ::
Merge pull request #177 from Friss/master

Stop safari from blowing up