Pull in middleware package, and change interface to accepting Msg's