Implement player as service

and some other fixes...