move GeometryCache out of application and remove dependency on Model