File based system for managing the video rentals and customer history at a video store. Implemented using the factory method pattern while adhering to the open/closed principle.