I maintain two pairs of R packages: igvShiny + igvR; cyjShiny + RCyjs.
The first pair provides a shiny widget and an R console library for igv.js, a full-featured genome browser.
The second pair does the same for cytoscape.js, a popular network visualization library. There is a lot of similar functionality in the two members of each pair, and quite a bit of duplicated code. I use my own Bioconductor BrowserViz package to provide websocket communication in igvR and RCyjs.
Enquiring last August about how to collapse each of these pairs into two packages, rather than four, someone suggested that the ideal solution would be a non-blocking Shiny - which might be available later this year.
May I ask how the plans for that stack up? Still a possibility?