Patterns are now represented as AnsiPattern instances instead of regular functions to avoid the need to pass in styles each time one is called directly