We use a ISessionManager to maintain a consistent flag state across child requests. If somewhere is no FeatureDefinition, the result of checking the flag in one service may differ from the result in another within the same logical operation.
The behavior changed in version 4 of the package.