You can buy this project and download/modify it how often you want.
package scribe class LazyMessage[M](function: () => M) { lazy val value: M = function() }