Computer system 300 can also be implemented primarily in firmware and/or hardware using, for example, hardware components such as application specific integrated circuits (ASICs) or a hardware state machine so as to perform the functions described herein.