embellishment to decorator

Moving a cross cutting concern to a decorator can improve flexibility and at the same time reduce complexity of the subject.

the code on my GitHub

Comments