Create new "ribbon" module

Implementation based on Issue #99.