Quantum Key Distribution (QKD) systems are a novel technology that exploits the laws of quantum mechanics to generate and distribute unconditionally secure cryptographic keys between two geographically separated parties. They are suitable for use in applications where high levels of secrecy are required, such as banking, government, and military environments. In this paper, we describe the development of a module-based QKD simulation framework that facilitates the modeling of QKD post-processing functionalities. We highlight design choices made to improve upon an initial design, which included the segmentation of functionalities associated with various phases of QKD post-processing into discrete modules implementing abstract interfaces. In addition, communication between modules was improved by implementing observers to share data, and a specific strategy for dealing with post-processing synchronization and configuration activities was designed. Collectively, these improvements resulted in a significantly enhanced analysis capability to model and study the security and performance characteristics associated with specific QKD system designs.