Use explicit visibility.
Add options to sample.
Use options for OnException rather than sub-classing.
Internalize cache namespace helpers and refactor to use FireAndForget.
Add links back to ServiceStack.Redis et al.