Using decorators to enable different parsers and renderers