Made an IR version of the receiver.

It's much simpler and does not have state (since you cannot query
from IR.)