Just FYI: I noticed that my earlier example for a surface plugin got
lost in the depths of the internet so I posted an updated version to the
SVN repository. Feel free to ignore for any regular builds; it's really
just an example of how to deal with the surface plugin etc.