what's missing in the parts shown by github here is that this is defined in `State`, so should be ok as `protected`?