Use PubSub instead of NSNotificationCenter