   options = _.defaults options,
     elementSelector: "#gameCanvas"
 
+  eventNamespace = _.uniqueId("keyboard")
+
   keysDown = {}
 
-  # Use the KeyboardService event namespace
-  $(options.elementSelector).on "keydown.GE.KeyboardService keyup.GE.KeyboardService blur.GE.KeyboardService", (event) ->
+  $(options.elementSelector).on "keydown.#{eventNamespace} keyup.#{eventNamespace} blur.#{eventNamespace}", (event) ->
     # jQuery standardizes the keycode into http://api.jquery.com/event.which/
     switch event.type 
       when "keydown" then keysDown[event.which] = true
       when "keyup" then delete keysDown[event.which]
-      when "blur" then keysDown = {}
+      when "blur" then keysDown = {} # Lost focus, so will not receive keyup events
       else throw new Error("Unexpected event type")      
 
   return {


    establishData: -> # NOOP. Input service does not take data

    # Remove all events
    destroy: -> $(options.elementSelector).off(".GE.KeyboardService")
  }

# Define mouse input service


    establishData: -> # NOOP. Input service does not take data

    # Remove all event handlers
    destroy: -> $(options.elementSelector).off(".#{eventNamespace}")
  }


