So, I would let whoever initiates the action, say a Button, gather up the parameters for a model update from the relevant ViewModels. The model update creates the file asynchronously through a Task. When completed, post an EventBus event to all interested ViewModels for a UI notification or other ViewModel change.