Merge pull request #111 from reaperhulk/abc-decorators

change abstract base class registration to use a decorator in modes