Decoupling renderers from struts