Each snip can be associated to a snip class. This ``class'' is not a class description in the programmer's language; it is an object which provides a way to create new snips of the appropriate type from an encoded snip specification. All snip class objects should be added to the global snip class list, wx:the-snip-class-list.
When a snip is encoded, the snip's class name is associated with the encoding; when the snip needs to be decoded, then the snip class list is searched by name to find the snip's class. The snip class will then provide a decoding function that can create a new snip from the encoding.