better OOP: switch to using "this" pointer
chains with implicit autoflow recorded explicitly; also codegen for backbone semaphore block