An advanced technique to separate concerns and eliminate duplication with the decorator pattern