`django-composition` provides the abstract way to denormalize data from your models in simple declarative way through special generic model field called `CompositionField`.
+`CompositionField` is django model field that provides interface to data denormalization.
+`CompositionField` constructor params:
+ - native - Django field instance for current compostion field
+ - trigger - one or some numberr of triggers that handle composition.
+ Trigger is a dict with allowed keys:
+ - on - signal or list of signals that this field handles
+ - do - signals handler, with 3 params:
+ - instance (that comes with signal send)
+ - concrete signal (one from `on` value)
+ - field_holder_getter - function that gets instance(that comes with signal send)\
+ as parameter and returns field holder
+ object (related instance)
+ - sender - signal sender
+ - sender_model - model instance or model name that send signal
+ - commit - flag that indicates save instance after trigger appliance or not
+ - commons - a trigger like field with common settings
+ - update_method - dict for customization of update_method. Allowed params:
+ - initial - initial value to field before applince of method
+ - do - index of update trigger or trigger itself
+ - queryset - query set or callable(with one param - `instance` of an holder model)
+ that have to retun something iterable
+ - name - custom method name instead of `update_FOO`