generate tag cloud using decorator pattern