Builder descriptors to Advanced descriptors

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