* Create new SelectorObserver class
* Update DOMDataBinder to use SelectorObserver
* Update names to be more clear
* Remove attributeOldValue parameter, clarify attributes parameter
* Add documentation
* Add helper function _getElementRelativeToAncestor
* Move helper functions
* Add setVisibility transform
* Add support for data-transform attribute shorthand
* Add support for using the document element as the ancestor
* Remove redundant assignment of select value
* Update TTS preparation
* Don't hide options
* Improve voice sorting
* Update event handler
* Apply options to all selects targeting audio.textToSpeechVoice
* Update selector
* Use IDs
* Move test text to a hidden text input
* Rename TemplateHandler to HtmlTemplateCollection
* Rename _templateHandler to _templates
* Allow creation from both string and element
* Simplify setup of templates, don't throw errors on invalid ID
* Simplify variable name
* Add dictionaryNames array
* Update how the dictionary field is assigned
* Use "dictionary" instead of "title" for consistency
* Remove redundant dictionary name
* Use _expandTags to create pitch accent tags
* Add abstraction: _getDefinitionPrimaryExpressionAndReading
* Reuse existing definitions in a sequence
* Revert change to related definition source/rawSource/sourceTerm
* Update _getDefinitionPrimaryExpressionAndReading to return best match
* Group reduction functions together
* Group simple helpers
* Add label comments
* Move core _findTerms functions to top
* Move _getSecondarySearchDictionaryMap and _getDictionaryPriority
* Move tag helpers
* Move _getTextOptionEntryVariants
* Move functions up
* Move functions up
* Update label comments
* Add sourceTerm field to 'term' and 'termGrouped' definitions
* Fix comparison of expressions which are always the same
* Rename/restructure term info map
* Add source term
* Add sourceTerm to expressions array
* Reuse furiganaSegments
* Add helper function _createExpressionDetailsListFromTermInfoMap
* Add expressions array to termMergedByGlossary
* Add expressions to definition types 'term' and 'termGrouped'
* Rename expressionDetails* to termDetails*
* Correct the source/rawSource/sourceTerm for related sequenced definitions
* Simplify structure of sequencedDefinitions
* Remove TODO
* Refactor internal options for findTerms to not use the settings object
* Move findTerms/findKanji options creation
* Deconstruct used options values to variables before any await calls
* Rename findTermsOptions to just options
* Add documentation comments
* Add type information about definitions