 		switch self.target {
 			
 		case notification.dynamicType, AnyNotification.self:
-			self._invokeHandlerOnMainThread(notification)
+			self._invokeHandlerOnMainThread(owner, notification)
 			
 		default:
 			break

	/// Invoke notification handler. If the `notification` type is not same type as self.target, do nothing.
	func invoke(notification:NotificationProtocol) {

		guard self.owner != nil else {
			
			return
		}

	}

	/// Invoke notification handler on main thread asynchronously.
	func _invokeHandlerOnMainThread(owner: AnyObject, _ notification:NotificationProtocol) {
		
		func _invoke(owner: AnyObject, _ notification:NotificationProtocol) {
			
			self.handler(notification)
		}

		invokeAsyncOnMainQueue {
			
			/// keep `owner` until finish invoking on main thread.
			_invoke(owner, notification)
		}
	}
}
