enhance implementation for issue #58: provide possibility to use any kind of cache backend by using closures