registerTopicHandler(topic, handler, options = {}) {
		// Default to enabling both communication methods
		let { pubsub = false, direct = false } = options;
		if (!pubsub && !direct) {
			pubsub = true;
			direct = true;
		}
		
		// Subscribe to pubsub topic if enabled
		if (pubsub && !this.topicHandlers.has(topic)) {
			this.node.services.pubsub.subscribe(topic);
			logT('p2p', 'Subscribed to pubsub topic', topic);
		}
		
		// Store the handler with its communication preferences
		const handlerConfig = {
			handler,
			pubsub,
			direct
		};
		this.topicHandlers.set(topic, handlerConfig);
		if (direct) {
			logT('p2p', 'Registered direct topic handler', topic);
		}
	}
Register a topic handler
@param {string} topic - Topic to subscribe to
@param {Function} handler - Message handler function
@param {Object} options - Handler options
@param {boolean} options.pubsub - Enable pubsub for this topic (default: true when both are disabled)
@param {boolean} options.direct - Enable direct dial for this topic (default: true when both are disabled)