Hold counters internally instead of exposing (and duplicating)
counting code in other compile units
Remove deleteFunc list. This should be handled by another mechanism.
CDRMonitor is debugging code.
Use internal singly linked list to avoid special handling of
LinkedList.