About this -- Should `_dynamic_truncate()` be moved to a separate `utils.py` file? This function is essentially the bit that is shared between HOTP and TOTP. What is the convention here?