A shared component with a mode prop is often several workflows sharing one set of buttons. On the Stack Overflow blog, a frontend developer describes merging approve, change, and move actions into one component and watching it fill with flags until a change to the confirmation step needed all three workflow owners to agree. The advice is to copy until a pattern repeats three times for the same reason to change.
I think the author names the cost most teams miss. A wrong abstraction is less a code problem than an ownership problem, because it turns three decisions that belonged to three people into one decision that belongs to a meeting.
That puts a line where a leader can act on it. A shared component library should hold primitives, design tokens, and accessibility behavior, and decline workflows, even when the screens look identical. I would rather a library team turn a request away than become the reviewer every product change waits on.
In years of building and rebuilding component libraries, I have come to believe the pieces that age worst were accepted to save a week of duplication.
Search your shared library for a prop named mode or variant. How many of the components that have one are really workflows?
Photo source: https://photos.robertstowe.com/bavarian-alps
