     @metadata ?= {}
 
   loadKeymaps: ->
+    @keymaps = []
+
     keymapsDirPath = fs.join(@path, 'keymaps')
+    keymapExtensions = ['cson', 'json', '']
 
     if @metadata.keymaps
       for path in @metadata.keymaps
-        keymapPath = fs.resolve(keymapsDirPath, path, ['cson', 'json', ''])
-        keymap.load(keymapPath)
+        @keymaps.push(CSON.readObject(fs.resolve(keymapsDirPath, path, keymapExtensions)))
     else
-      keymap.loadDirectory(keymapsDirPath)
+      for path in fs.list(keymapsDirPath, ['cson', 'json', '']) ? []
+        @keymaps.push(CSON.readObject(path))
 
   loadStylesheets: ->
     stylesheetDirPath = fs.join(@path, 'stylesheets')
-    for stylesheetPath in fs.list(stylesheetDirPath) ? []
+    for stylesheetPath in fs.list(stylesheetDirPath, ['css', 'less']) ? []
       requireStylesheet(stylesheetPath)
 
   loadGrammars: ->

module.exports =
class AtomPackage extends Package
  metadata: null
  mainModule: null
  deferActivation: false


    activateHandler = (event) =>
      bubblePathEventHandlers = @disableEventHandlersOnBubblePath(event)
      @deferActivation = false
      @activateNow()
      $(event.target).trigger(event)
      @restoreEventHandlersOnBubblePath(bubblePathEventHandlers)
      @unsubscribeFromActivationEvents(activateHandler)
