+----------------+        +-------------------+       +--------------------+      +---------------------+        +---------------------+
|                |        |                   |       |                    |      |                     |        |                     |
|  Gulp Update   +------->+  Check Updates    +------->   Confirm update   +------>  Checkout new code  +-------->  Update files       |
|                |        |                   |       |                    |      |                     |        |                     |
+----------------+        +-------------------+       +--------------------+      +---------------------+        +---------------------+

                           This actually checks                                    This one checks out new        There are certain
                           if the latest version                                   code into a sub-directory      files and directories
                           available on GitHub                                     like .tmp                      that should be updated.
                           has a newer version.                                                                   If some files are edited
                                                                                                                  after the last update,
                                                                                                                  it should confirm overwrite.

                                                                                                                  After updating the files,
                                                                                                                  it should delete the temporary
                                                                                                                  folder.

                                                                          Updated files:
                                                                          +------------+


         +-------------------+          +---------------------+              /core/*
         |                   |          |                     |              /gulp-tasks/core/*
  +----->+  Show NPM changes +--------->+ List API changes    |              /modules
         |                   |          |                     |                  /authenticate/*
         +-------------------+          +---------------------+                  /config/*
                                                                                 /form-builder/*
          If there were changes          Also list how he can                    /ionicons/*
          in the package.json,           roll-back the changes.                  /layouts/*
          list them in the end                                                   /mongodb/*
          of the update, so they                                             /docs/*
          should be updated                                                  /assets/<matching files>
          manually.
