New decorator framework