in reply to How to morph a plain module to OO
My first suggestion is not to do this. If you have a working module and it is already heavily used, just write a new module for the OO stuff and have it use the old module under the covers. It is far too easy to break the original code in subtle ways.
As an illustration, you already broke the functionality of your original module because your new isFile() doesn't take a verbose argument when it isn't used as a method.
-sauoq "My two cents aren't worth a dime.";