Slight revamp of Patterns to allow multiple subpatterns.