Improved internal interfaces & added DoBegin* convenience.