Addressed gh #516 by reimplementing SGMFastScanActionController::cancelImplementation(). Also added public access to the lastState() of the scan controller. When I did it the first time it turns out that in cancelImplementation() the current state is cancelling() go figure.