Refactor existing code and implement an MPNS channel.