added an abstract music stream class