code: function Pin(options)
  {
      let defaultOptions = {
          'visible'        : true,     // In future there might be some functionality related to the pins even if they are not displayed.
          'number'         : 36,       // The number of pins. These are evenly distributed around the wheel.
          'outerRadius'    : 3,        // Radius of the pins which determines their size.
          'fillStyle'      : 'grey',   // Fill colour of the pins.
          'strokeStyle'    : 'black',  // Line colour of the pins.
          'lineWidth'      : 1,        // Line width of the pins.
          'margin'         : 3,        // The space between outside edge of the wheel and the pins.
          'responsive'     : false,    // If set to true the diameter of the pin will resize when the wheel is responsive.
      };
  
      // Now loop through the default options and create properties of this class set to the value for
      // the option passed in if a value was, or if not then set the value of the default.
      for (let key in defaultOptions) {
          if ((options != null) && (typeof(options[key]) !== 'undefined')) {
              this[key] = options[key];
          } else {
              this[key] = defaultOptions[key];
          }
      }
  
      // Also loop though the passed in options and add anything specified not part of the class in to it as a property.
      if (options != null) {
          for (let key in options) {
              if (typeof(this[key]) === 'undefined') {
                  this[key] = options[key];
              }
          }
      }
  }
docs: ==================================================================================================================== Class for the wheel pins. ====================================================================================================================