Our journey from a library to a custom graph component