Document Traits and alternative to inheritence

I have a test case https://gist.github.com/fried/5711229

This allows Document Fields to be build by Trait, so you can build your classes by composition instead of by ridged single inheritance. 

It seems to work.