You've already seen how the behaviors of Slate editors can be overridden. These overrides can also be packaged up into "plugins" to be reused, tested and shared. This is one of the most powerful aspects of Slate's architecture.
A plugin is simply a function that takes an Editor object and returns it after it has augmented it in some way.
For example, a plugin that marks image nodes as "void":