Basic player framework; legal player (untested)