Uses the Singleton pattern to ensure that arguments are only parsed once.
Also, drops some deprecated arguments.
The main benefit here is in explicitly declaring the type of each attribute, so
that mypy/pytype have the information to determine whether they're being used
appropriately (and in particular, whether usage points are correctly guarding
against attribute values that may be None).
Follow-on commits will update the points of use to use this new API.
Uses the Singleton pattern to ensure that arguments are only parsed once.
Also, drops some deprecated arguments.
The main benefit here is in explicitly declaring the type of each attribute, so that mypy/pytype have the information to determine whether they're being used appropriately (and in particular, whether usage points are correctly guarding against attribute values that may be None).
Follow-on commits will update the points of use to use this new API.