Factored shaders out. Now load via promises. Hooray