nit: why not a `isReady()` function? Maybe I'm getting old ;) but I don't like getters that much because for the caller everything looks like they will be fast whereas it could be slow depending on what's behind.