Switched to using reflectasm rather than reflection for calling @ReceiveEvent methods.
Changed ShaderManager to recompile both shaders and materials when recompile is required.