- Create a new OpticalDisc base class for future use - Create a new CompactDisc class for most current usage - Separate out some player logic from the UI - Remove all direct references to the disc from the UI - Player initializtion starts from path