added cache router
creating singleton instance for router
tweaking for single router instance and group defined router groupg
tweaking routing
Call the router each time we need a cache instance
Run full clean when we know all the values aren't coming from the form
Validate uniqueness before cloning
Fix get extra cache key call