Using an abstract property was awkward for this as it is being consumed
in the underlying constructor but could not be dynamically set in time from a
derived class.
We generally haven't tested in other modes, and it doesn't really make
sense as you wouldn't be able to use it in a meaningful way otherwise.
- [ ] Test on windows.