A brew is an abstract concept that implements a specific protocol. Your application will create brew objects for each supported protocol. Each brew provides necessary configuration options so they can create and connect to remote parity entities.
Brews have their own settings that define and alter their existence and can be controlled when calling
configure on the brew object. Settings typically indicate where or how the production of information will be exposed for configuring. When a new brewer or patron is created and registered with the client, the brew is informed of their existence and can create and/or allocate the necessary resources for communicating with each brewer or patron. The brew will return from these calls the information that needs to be registered with the Pubkeeper server.