Refactored code + added network check
Merge branch 'refactor-code'
Refactored work with AsyncTasks + utility class + exceptions
Merge branch 'refactor-async-tasks'