These traits seem to vary only by the type of AuthInfo. Perhaps they could extend a generic trait with a type parameter to avoid the duplication?