decorator pattern examples: starbuzz and io