Moved core data tasks updates to cell animation completion block, thus getting around the table.reloadData() issue in a much much better way! Also blocks people triggering a second state change during the first state change.