Allow a UsageListener (i.e. for metering info) to be registered

@alasdairhodge can you review this please?
Redundant `static`