The goals are to allow for multi-device, multi-message-protocol implementations of the Abstract Device without (significantly) impacting performance.
Remember to differentiate between the ADI design and any one of its implementations.
Outline of paper...