# File test/unit/ui/util/observable.rb, line 32
     def add_listener(channel_name, listener_key=NOTHING, &listener) # :yields: value
						unless(block_given?)
							raise ArgumentError.new("No callback was passed as a listener")
						end
				
						key = listener_key
						if (listener_key == NOTHING)
							listener_key = listener
							key = ProcWrapper.new(listener)
						end
				
						channels[channel_name] ||= Hash.new
						channels[channel_name][key] = listener
						return listener_key
					end