1. A non-transitory computer readable storage medium, comprising executable instructions to: define a visualization object model layer disposed between a business intelligence application and a plurality of visualization libraries, wherein the visualization object model layer provides an application programmer interface for the business intelligence application to the plurality of visualization libraries; designate a visualization to be rendered; determine if the visualization can be created by comparing metadata for data to be rendered and metadata for the visualization; define a visualization settings model within the visualization object model layer, wherein the visualization settings model describes the visualization to be rendered by a visualization library in the plurality of visualization libraries; pass data from the business intelligence application to the visualization via the visualization object model layer to produce a rendered visualization; form a saved version of the visualization including data of the visualization, a metadata description of the visualization and a mapping from data to the visualization; and return the rendered visualization to the business intelligence application.