Fast deploy

Some re-factoring done on the mobile deployment. The API for the deployment remained the same but the structures used by the Mobile Deploy are a little bit more structured now.

The deployment flow is not independent of the deployment way the user choose, which makes it more scable and easy to maintain.
- What error is shown to the user before the refactoring?
- What error is shown to the user after the refactoring?