This is a tracking issue for what will end up being a pretty big refactor.
In general, it seems that it would be a good idea to merge our move generation code into our Board class. This will also allow us to possibly improve the performance of things as we can cache certain bits of information as play progresses. We can also later incrementally track updates to threats, checkers and the like.