decorator blog post