I am not a big fan of reporting module knowing a lot about graphing modules. Lets keep them as independent as possible. One idea is that reporting knows that there could be two kinds of graphs: static and dynamic (or PNGs and JavaScript). Build report based on that info?