I don't think much of "forwarding". I prefer concurrent queues that "secondaries" subscribe to. It's naturally async; your design reflects only syncronous operations which have to stay in step.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I