Large refactor to change some objects to be shared for patterns and garments