It may be reasonable that HOTP, TOTP, OCRA classes compose over the same implementation object, (appropriately removing or restricting parameters) as is necessary for strict compliance with the appropriate specifications.

I'm not sure what you'd call it though.