Refactor Merchandising-Component Creation Code

Simplifies class hierarchies and removes some redundant code.
Is this any better?