Convert MessageServiceBase into static class, add dynamic dispatch.
Merge pull request #15 from sprintly/dynamic-dispatch

Convert MessageServiceBase into static class, add dynamic dispatch.