Abstracted move selection into Playable protocol