notify users about errors and give useful details (see #91)
avoid sending invalid data to the JS/user side (see #91)
vadility check for cache retrievals (see #92)
fix duplicate cache key (fixes #91)