Kind of agree, there are private to this component or it's children so underscore should be used. In our case, it means that BrowserPage should not tamper with these properties.

Anyhow, first frame rendered handling needs to go inside DeclarativeWebPage as it is page/tab specific (works already correctly but it is messy). 

Once I get TabModel and DeclarativeTabModel merged then _readyToLoad should disappear as a property.