Cross-browser observable objects