Extract self update to a service
Add quick tests for self updater