doit is too verbose, why don’t you use decorators?
doit is designed to be extensible.
A simple dictionary is actually the most flexible representation.
It is possible to create different interfaces on top of it.
Check this blog post
for some examples.