Update signatures to match changes to backend trait, and add new types and stub methods to complete mux abstraction.
Work in progress, some types in place but mostly a skeleton.