
                     position:  'topleft',       // part of leaflet's defaults

                     id:        null,            // an id to tag the button with

                     type:      'replace',       // [(replace|animate)]
                     // replace swaps out elements
                     // animate changes classes with all elements inserted

                     states:    [],              // state names look like this
                     // {
                     //   stateName: 'untrack