conditional support for redefining functions and (basic) classes, via runkit extension; awesome upgrade to history ux