Modules
Modules are parts of this configuration that can be disabled. Nearly all features in this config are defined by a module.
Organization
Every directory in modules/ is a module. Modules cannot be in subdirectories. 
Each module directory MUST have an init.lua, which returns a table. That table can contain anything, but a few keys are special:
keybinds 
Defines keybinds the module provides. It is audomatically loaded if the module is enabled. 
This MUST be a table formed by awful.key(). See ibus or screenshot for examples.
init 
Defines an init method. This is called once when awesome starts.