Existing implementation uses Geometry but now it's time to rewrite it to use either BufferGeometry or just operate on just typed arrays, without using Three.js API whatsoever. This way the library could be used in raw WebGL application (and for using in Three.js apps could be created simple wrapper).