message sending/timing/signal shaping is now done externally in the filter modules so that they can be reused by multiple drivers.