HBridge: refactor to support APM1 or APM2 by delegation