Broke out more methods in AI model, removed some redundant code from board model