Deleted the MediaPlayer interface, made the factory return object and implemented a contract test for the factory checking the object it creates conforms to those roles