Refactor ShapeFactories so layout within Palette is handled separately.