Added ability to specify custom JSON/Storage facilities, shared cache and improved some variable names