Some properties in the Channel model here have setters that are scoped as internal, so a developer writing code that lives outside of the MumbleSharp's assembly cannot manipulate them.
This makes it particularly difficult if you're trying to implement a custom IMumbleProtocol, since some of the methods implemented by the protocol necessitate changes to those fields (see here).