Refactor core, create custom transport for new relic