Initial code commit
Refactored common Mixin code into DependentFieldBase. Removed dead, generic version of code, because reasons.
Updated license
Added some more documentation to the inner workings of the code. Refactored more of the Mixins/Base classes to be more generic and reduce coupling.