function CursorStateChangedEvent(selections, source, reason) {
            this.selections = selections;
            this.source = source;
            this.reason = reason;
        }
A snapshot of the cursor and the model state