Refactored shift logic into shared routine; shift routines return summary of changes to board;