Clarify here whether an exception's thrown every time the client's referenced, or just the first time. Slightly funky use of lazy val ...