Added public setData function, added isSilent parameter on some functions to optionally suppress selectionchange event from being triggered, changed clear function to prevent errors observed using the prior call to removeFromSelection