liaison - Automatic change record emission with Observable

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<input type="button" value="Change values and show change records below" onclick="change();" />
<pre>
</pre>

JavaScript

require.config({baseUrl: "http://ibm-js.github.io/libraries/master/"});
require(["decor-build/layer"], function () {
    require(["decor/Observable"], function (Observable) {
        var observable = new Observable({foo: "Foo0"});
        Observable.observe(observable, function (changeRecords) {
            document.querySelector("pre").innerHTML = JSON.stringify(changeRecords, null, 4);
        });
        window.change = function () {
            observable.set("foo", "Foo1");
            observable.set("bar", "Bar0");
        };
    });
});