Split out general functions to be wrapped in tests. Left integrated behaviors in extender definition.