re-design server internals to always contain four Player objects that may be connected or disconnected and store their own gamepad state
implement minimal async and sync APIs; implement test driver