removes getProperties method from Descriptor
(minor) doc for Descriptor constructors
refactors to remove unnecessary interfaces; improves documentation