It may be a good idea to move the parser definition out of the constructor.

As I understand it, we are defining two interfaces here: one is the command line interface and another is the SDK interface (Scheduler class.)

When someone is programming directly against the SDK, they don't need a parser when instantiating the Scheduler class as they probably already have the options in some form and can directly call the various methods.