Isn't it true that if we don't have to increment/decrement the ref count unless the chain is actually a match? Seems like we could avoid a lot of possible lock contention in cases where there are lots of chains but only a few of them match each specific message.