Use enum instead of ints
Use otto to decouple UI and services

Remove some of the static state, introduce otto to decouple service from UI

Fix lifecycle, removed more statics

Move state into state object

Kill all state

Move RestoreTask up

More refactoring

 * break out async tasks into separate classes
 * move more logic from service into tasks
 * added nonnullable annotations

BackupType check

Fix package name

Centralise lifecycle handling, fix backup type

Pass in configuration to make code more testable

Move to package

Only use one error state

No need to switch