The createProgram function now verifies if the program currently exists. If so and the program is already compiled it directly calls the callback. Otherwise it pushes the callback to the callback list to be called later