Looking through Philosopher's latest TFC changes, and I think this is one those "layers" that could greatly benefit from having a dedicated "Drawable" class - once we introduce a Drawable class, we could directly add support for LOD, styling (colors, svg filenames, callbacks) and caching. People would then only need to implement the interface of the drawable class to override symbols or animations.
I think we already started with this when we were working on the fixed grid caching scheme.
And draw() vs. update() could then be a part of the drawable class.
Just some food for thought for the 3.2 release cycle...