Better architecture for GL module.