Add observer pattern.