Let's use a different design pattern here.