Description builder

Continue of pull request #890:

As discussed in #890 I rebased the branch on immutable-description and created a new pull request.

All the best
bechte