Recently I was doing something similar and come up with a small pod you can take a look. Here is the link https://github.com/iSapozhnik/Haptico
So the idea is to build an OperationQueue with the banch of Operations. One operation could be your haptic feedback and another one - pause operation.