Processing sale is slow
Create the fulfillment, refund and closing sale when processing is slow so it will be better to do it asynchronously especially when it is called from the button. Also the fulfillment can not be edited so there is no point to save it again if it already exists.