https://medium.com/@devleaderca/how-to-implement-the-facade-pattern-in-c-for-simplified-code-and-increased-efficiency-1688de2d6b53