fix: Allow programmatic changes + initial selections

Could use some performance optimisations... "validate" and "select all" events
are broadcasted/emitted redundantly.

Fixes: #2 #4