Git submodules - Why and How to use them