Per my comment below, can the `deprecated` attribute be passed as the first parameter to this init method so it can be immutable for the full duration of the object?