Convert MessageServiceBase into static class, add dynamic dispatch.

Fixes #14