code: function(component, shader) {
          this._defaultShaders = this._defaultShaders || {};
          if (arguments.length === 1) {
              return this._defaultShaders[component];
          }
          this._defaultShaders[component] = shader;
      }
docs: @
  #Crafty.defaultShader
  @category Graphics
  @kind Method
  
  @sign public Crafty.WebGLShader Crafty.defaultShader(String component[, Crafty.WebGLShader shader])
  @param component - Name of the component to assign a default shader to
  @param shader - New default shader to assign to a component
  
  Assigns or fetches a default shader for a component.
  
  This allows the default shader for a component to be overridden, and therefor allows
  developers to override the default shader behaviour with more complex shaders.
  
  @example
  Let's say we want to set the grayscale enabled shader from the example of the WebGLShader
  as default for sprites:
  ~~~
  Crafty.defaultShader("Sprite", recoloredSprite);
  ~~~
  
  @see Crafty.WebGLShader
  @see Sprite
  @see Image
  @see Color
  @see WebGL