Use promises in place of callbacks for Client#send. Not working properly yet. refs #11
Re-fasctored promise implementation. Once-only implementation is working, need to enable persistent handlers
Promises chained together for persistent handlers. Performance is a problem, so will replace with a hybrid promise-callback approach
Re-factor to use combination of persistent callbacks and promises. Add ability to cancel callbacks and promises
Provide one-time callback behavior by callback return value instead of using Promises. Modify API annotations accordingly. Refs #11
Detect browser support for structured clones, and stringify postMessage payloads (in Client and PostMessageParticipant) only if structured clones not supported. Also includes bugfix in rcp.js wherein object was being passed to parse. refs #10
Add check for FF bug cloning File objects in feature-detect for structured clones
Cache result of structured clone support function

Cache result of function call when detecting structured clone support

Cache result of function call when detecting structured clone support
Add unit test for structured clone support with postMessage. refs #10
Use delete operation for unregistering callback. Return true if callback was present, false otherwise. refs #11
Content of unit test was left out of previous commit. refs #10
Merge pull request #33 from ozone-development/feature-promise

Feature promise
Merge pull request #34 from ozone-development/feature-postMessage

Feature post message
Initial Commit.
Updated structure of tests. Tests are now based around the asynchronous callbacks of client sends.
Restructured integration folder structure.
Implemented client creation as iFrame in test.
Added iFramed peer example.
Added client factory for easier testing setup.
Moved postMessageParticipant's postMessage listener to a named function. This lets us unintrusively add communication for testing purposes by removing the listener & adding a different one.
refs #31
Refactored integration_iframe_peer.html to iframe_peer.html (to conform to client.js)