Refactor Muxer to use generic pool