Caching

constructor(cacheTolerance: Double, whenSet: (Double?) -> Unit)