Have a Go: Decoupling WebGL Components