This is the ideal place for using a lazy val. 

Btw, there's a great blog post on Scala design patterns at http://pavelfatin.com/design-patterns-in-scala/. You probably already saw it but just in case.