Ukelele is a Unicode keyboard layout editor for the XML-format keyboard layout files in OS X (".keylayout" files). It provides a graphical interface to the layout files with support for drag-and-drop character assignments, creation of dead keys, and assignment of multi-character strings.
Ukelele is not able to reassign modifier keys (option, shift, command, control, caps lock), or change the function of special keys (return, arrow keys, function keys, etc). Rather, it is for creating keyboard layouts for different languages or other needs.
By the way, the name of this software is intentionally misspelled. Call it a case of 'artistic license'.