Finding the program LISTENing on a Mac OS X port

I got an alert from my internet firewall that some process wanted to open a TCP port for listening. My challenge was to figure out which application is listening on port 20559

On Mac OS X machines you can run:

$ lsof -i :20559

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 643 sasconsul 12u IPv4 0x99ba0dceb7662867 0t0 TCP *:20559 (LISTEN)

Finding the name of the process. I want to know the path to the program that started the process. I can find all of the file descriptors connected with the process -- one file descriptors should be the text of the program:

$lsof -c /^node$/i -a -d cwd,err,jld,pd,rtd,txt

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 643 sasconsul cwd DIR 1,4 1326 2 /
node 643 sasconsul txt REG 1,4 8004788 1724997 /Users/sasconsul/Library/Application Support/Pow/Versions/0.4.\
3/bin/node
node 643 sasconsul txt REG 1,4 5632000 143895123 /private/var/folders/2v/832ctlgn58v7lnv69gx_4rh80000gn/0/com.a\
pple.LaunchServices-134501.csstore
node 643 sasconsul txt REG 1,4 643792 138616337 /usr/lib/dyld
node 643 sasconsul txt REG 1,4 560113324 138697550 /private/var/db/dyld/dyld_shared_cache_x86_64