player: add global singleton