Moving all metric registration to initialize() because it's called only once

This fixes inputs that are not restartable because of failing metric registration.
Removing unused method from interface and implementations
Moving produces/consumes annotation to top of class