No reason not to expose the underlying MCS
better impl
error checking
NPE check