hasOwnProperty does not include inherited properties in FF, so reverted to truthy duck typing for cross-compat between FF and Chrome