Use a more OO approach to arg parsing