Having a definition change after it has been approved could be problematic.
We should add a field to PublishRequests which will store the definition. This should be able to refreshed/updated before it is published (but doing so should also clear the approval)