Encapsulate vertex program a bit better
Add preliminary type signature for fragment shaders
Add methods for creating attribute clusters