Lab 6 part 1 with observer class design pattern