The problem is that modifier methods (like SetInk) have to be chained in specific order, otherwise "return *this;" upcasts the chain to the base class (Pusher in this case).
Thinking about it, maybe we do not need to use chaining calls in layouts, that would solve the problem once forever... but too risky for 2007.1.