Make MessagePipeline a proper API

Start finalizing core API classes for beta 1

Signed-off-by: Chris Sanders <zidane@outlook.com>