adds support for polymorphic objects with common base class (closes #45)

This also adds an event prior to deserialization (closes #41).
adds disjunct exclusion strategy (closes #44)