Original implementation assumed that the "total" value from the API response was the denominator for lifespan, but this was incorrect. The "val" from the `life_span` message is the percentage represented as a whole number, with no dividing necessary.
All sucks vocabulary is now defined up-front in consts, so that library users can import those const instead of hard-coding them.
is_cleaning and is_charging properties were added to VacBot, avoiding library users to have to understand which vacuum statuses mean active cleaning.
All logging has been moved to instantiated loggers using the module's namespace, as is recommended by the Python docs.