add Seed.broadcast() and scope.$on()