First cut at polyfill for the base class + tests. Still much to do.