Change strategy from DOM events to internal event emission. Closes #1 and closes #4

Expose internal value changes via event emission. Closes #2

Externalize configuration. Closes #3