UNTESTED refactored more, highcharts.js more decoupled