Refactoring: MusicPlayerEffector now implements an state pattern