Bump up dependency versions.
Trying something new.
Some more glue.
Complete rewrite: simpler implementation.