Implement dynamic di

This is an initial implementation of DI.

Please review only the second commit. The first commit will be gone once #45 is merged.

I think stringify may be better name?

Also it does not seem like global facade is the right place for this. It seems to rely on `.name`?