Improve decorator pattern