Do you want this public? Not sure if you want markup to contain all the values. If so then you should expose an immutable list, and have a mutation observer for elements being added and removed.