Use the Decorator trait rather than workarounds