System Design: Dead Letter Queues and Error Handling