We describe an object oriented approach to developing an Identity Based Encryption system. We show how an existing API was reused and extended to facilitate our development of the cryptosystem. Provided in this paper are details of the design of our implementation, achieved through the use of design patterns, which allow for future extensions. Also given are some techniques that we employed in the implementation of our cryptosystem, along with details of how components of the cryptosystem were implemented and tested. The purpose of this paper is to provide some insights to assist future developers of pairing-based cryptosystems. KEY WORDS Security, Software Testing, Identity Based Encryption, Java