An extension of call-stats, this procedural program does what call-stats does, in addition to other functionality including storing, performing searches, adding and removing call records. This program uses the OOP concept of encapsulation by bundling state variables into an object that represents the call records, save for any methods that operate on that data.