def start_control_point(search_type, options)
      @cp = ::Playful::ControlPoint.new(search_type, options)

      @cp.start do |new_device_channel, old_device_channel|
        new_device_channel.subscribe do |notification|
          @devices << notification
        end

        old_device_channel.subscribe do |old_device|
          @devices.reject! { |d| d.usn == old_device[:usn] }
        end
      end

    end
def start_control_point(search_type, options)
      @cp = ::Playful::ControlPoint.new(search_type, options)

      @cp.start do |new_device_channel, old_device_channel|
        new_device_channel.subscribe do |notification|
          @devices << notification
        end

        old_device_channel.subscribe do |old_device|
          @devices.reject! { |d| d.usn == old_device[:usn] }
        end
      end

    end
@param [Rack::Builder] app Your Rack application.
 @param [Hash] options Options to pass to the Playful::SSDP::Searcher.
 @see Playful::SSDP::Searcher
 Creates and starts the {Playful::ControlPoint}, then manages the list of
 devices using the +EventMachine::Channel+ objects yielded in.

 @param [Symbol,String] search_type The device(s) you want to search for
   and control.
 @param [Hash] options Options to pass to the Playful::SSDP::Searcher.
 @see Playful::SSDP::Searcher