PaulS,
About your earlier comment:
Calling pinMode() in the constructor of your class is not a good idea. Your constructor is called before the init() function, that sets up the hardware, so pinMode()'s actions could well get overwritten later.
You should have a begin() method, like all other class that use pins, where the mode is set.
I've tried looking for information on the "begin() method", but only seem to find stuff related to Serial.begin()... can you please point me to something suitable so that I can further research this?
Many thanks
Andrew