Add Hook Template design pattern