https://easeresin.com/pattern/manager/