Better use of Cake pattern