Refactoring of Builder descriptors

Refactoring of advanced descriptors to be more easily used outside of Builder