Does this need to be a lazy val? Lazy vals are expensive.