added listened observer on episode model, refactor player