decorator pattern
metadata changed