Refactored to allow sent, received, and audit tracing