use emitWithText where possible