Nit: all the errors in validateApp start with a lower-case letter, but the ones here in _updateCachedManifest start with an upper-case one. Seems like they should be consistent.