Added api comments to some of the classes

- Also made the custom descriptors public