Caching, validating data with knockout.js