should `deprecated` be a private attribute with an `_`?  Would any clients ever need to know the value of this attribute directly?