Replace a multimethod by a protocol.
Merge pull request #2 from roomkey/perf-improvements

Replace a multimethod by a protocol for performance reasons.