Added IPlate interface to NodeMatrix

I didn’t just replace the update functions, for the moment. I wanted to
see how much you all would want to change this first. I had to make
classes/functions public on the Nodes in order to use them correctly.
Also, the factory function did not work as it was. It kept throwing
NoSuchMethodException because there is no public constructor.  Anyway,
its ugly (for now) but it works.