add observer pattern readme