Change InvalidArgumentException to be based upon SPL exception class.