imho `user_aget=None` and a default incase `user_agen is None` via a class constant. i think more people will create a custom class anyway, this will force them to make a custom `__init__`. (but just my 2c)