You may find that you often want to completely replace one command with another. For example, you may wish to replace list-buffers with electric-buffer-list. This snippet of code abstracts away all the code required to do this, leaving you to customize only a single alist of remappings. Using remappings in this way is more portable than simply rebinding the keys, since the remappings will always work even if the keybindings change.
The following code defines a custom variable that will let you remap commands without writing any of your own code. Just M-x customize-variable command-remapping-alist.