:-) It'd still be a problem with lazy vals though.... the problem here is that the cdn is determined given function parameters, yet you cache the value as a singleton... what if getSetupJavaScript was called again with different parameters?