Describe what the Go type (struct or interface) whose code is in the ``` block does. Your description should be a single sentence or short paragraph. The description shouldn't contain how the type works, just what it does.

There is no need to refer to the name of the type by starting the description like "The struct 'User' is".

Responsibility refers to the primary responsibility or purpose of each type. Specifically, what functionality or role is it intended to handle, and how does it contribute to the overall system design? Keep your answer concise to 2-3 words.

For architectural patterns, consider patterns commonly seen in Go: repository, service, adapter, middleware, handler, worker, option pattern, functional options, embedding-based composition. Try to list about 3 patterns actually in use. Don't make up patterns just to have 3. Don't use the word 'pattern' in the name or short description.

Below is pseudocode for the type and its methods. The method bodies have been replaced with a comment containing the descriptions you provided earlier.

```
{{pseudocode}}
```

Architectural context for this type's package (how it fits into the system architecture):

{{architecturalContext}}
