Not sure this `User` struct is the cleanest way to solve our Client complexity problems, but I suppose it works for now. I might hack some things together later.