Countries Project Description: Main goal is to create network request and use data persistency methods. MVVM and Factory Design patterns are used UserDefaults is used for saving data to local. All UI elements are created programmatically