Lazy cache, callback model for .get(), force array for return