This is the applicative branch - I cut out the OptionCommand class, using method calls to stored function names for options instead.