I recently needed to add a tags UI to 17 different client UIs in SimpleIoT. The UI looks like:
and is used to add/modify/remove an arbitrary number of tags to a node.
After the widget was created, the code to add to each of the 17 components was one line in most cases:
Yes, it was a little more work to write the tags widget because it is Elm, but adding it to 17 components was so easy.