Re-designed ISoundPlayer and adapted everytthing accordingly