add observer pattern and modified main
 add pattern of factory method to create target for gumball shooting