Patterns renamed to protocols