I've been seeing everything as base classes lately. Not sure it is a good thing or a sign of insanity.
Had to do some driving of Excel from a web app -- not really something one should do as a matter of course -- but sometimes business requirements force more insanity than usual.
But I decided as long as I was going go insane, I was only going to do it once, so I created a base class that wrapped up all the goodies to open and close a workbook, get cell values, set cell values, etc. Excel exposes everything via COM. .NET sets up the InterOp automatically, but if you've worked with automating Office apps, you know they are finicky about closing cleanly, so the destructor handles closing the workbook and quiting the app. Works very nicely.