rm unused :use class; better handling InterruptedException; change MetricState and Poller better fits for Java