Refactor Merchandising-Component Creation Code

Simplifies class hierarchies and removes some redundant code.
Pretend you didn't see it!