ebm: Complete rework of EBM. Replaced out error prone flow control logic. High time I got round to this