I think the pattern could just be retrieved from the compiler when needed rather than being a constructor parameter here.