I am working on a UI toolkit and I'm confused about the boundary between Factory Method and Abstract Factory. Currently, my code creates different types of buttons, but now I need to support multiple OS themes like Windows and macOS. Is the Abstract Factory the right choice for grouping these related objects, or is it just adding unnecessary boilerplate to my project?
The question