Extract player logic into separate module