/// class PD.Web.UI.MutationMonitor

PD.Web.UI.MutationMonitor = Class.extend({

    //================================
    // FIELDS
    //================================

    _options: null,
    _source: null,

    //================================
    // CONSTRUCTOR
    //================================

    init: function (options) {
        this._options = options;
    },

    //================================
    // PROPERTIES
    //================================

    get_options: function (id, defaultValue) {

        var result = null;

        if (id !== undefined) {
            result = this._options[id];
            if (result === undefined) {
                result = defaultValue;
            }
        }
        else {
            result = this._options;
        }

        return result;
    },

    get_source: function () {
        return this._source;
    },

    //================================
    // PUBLIC METHODS
    //================================

    load: function (source) {
        this._source = source;
    },

    start: function () {
        // overridable
    },

    stop: function () {
        // overridable
    }

});