https://medium.com/@kanishksinghpujari/stop-using-singleton-like-that-youre-doing-it-wrong-540d6c812507