abstracts out the AI bits of player