The core routine expects data series, which are usually omitted in practice. Restructure the code and add bespoke niceScatter, niceLine, etc methods?