Dynamic properties are not used by these types, so using __slots__ is slightly more efficient. Public inherited properties are also included.
Configuration files allow common arguments like --shadowy-level and --blacklist to be saved and referenced rather being typed out each time. ArgumentParser has been subclassed to allow more freedom when parsing configuration files.