This is a clue to me that the BpmControl / RateControl interaction is not very good because it depends on the behavior of EngineBuffer for it to work. It would be better if the dependence were explicit (e.g. one of them took the other in its constructor).