Index: java/main/src/main/java/com/framsticks/diagnostics/DiagnosticsEndpoint.java
===================================================================
--- java/main/src/main/java/com/framsticks/diagnostics/DiagnosticsEndpoint.java	(revision 77)
+++ java/main/src/main/java/com/framsticks/diagnostics/DiagnosticsEndpoint.java	(revision 84)
@@ -1,8 +1,7 @@
 package com.framsticks.diagnostics;
 
-import com.framsticks.core.Path;
+import com.framsticks.dumping.PrintWriterSink;
 import com.framsticks.dumping.SaveStream;
 import com.framsticks.observers.Endpoint;
-import com.framsticks.dumping.PrintStreamSink;
 import com.framsticks.remote.RecursiveFetcher;
 import com.framsticks.util.Logging;
@@ -13,5 +12,5 @@
 import java.io.File;
 import java.io.IOException;
-import java.io.PrintStream;
+import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -22,64 +21,64 @@
 public class DiagnosticsEndpoint extends Endpoint {
 
-    private final static Logger LOGGER = Logger.getLogger(DiagnosticsEndpoint.class.getName());
+	private final static Logger log = Logger.getLogger(DiagnosticsEndpoint.class.getName());
 
 
-    public DiagnosticsEndpoint() {
-        super();
-    }
+	public DiagnosticsEndpoint() {
+		super();
+	}
 
-    @Override
-    public Diagnostics getObserver() {
-        return (Diagnostics)observer;
-    }
+	@Override
+	public Diagnostics getObserver() {
+		return (Diagnostics)observer;
+	}
 
 
-    @Override
-    protected void configure() {
-        super.configure();
+	@Override
+	public void start() {
+		super.start();
 
-        if (getObserver().dumpsInterval != null) {
-            new PeriodicTask(instance, getObserver().dumpsInterval * 1000) {
-                @Override
-                public void run() {
+		if (getObserver().dumpsInterval != null) {
+			new PeriodicTask(instance, getObserver().dumpsInterval * 1000) {
+				@Override
+				public void run() {
 
-                    LOGGER.info("starting periodic dump");
-                    new RecursiveFetcher(instance, new Path(instance, "/"), new StateFunctor() {
-                        @Override
-                        public void call(Exception e) {
-                            if (Logging.log(LOGGER, "recursively fetch", instance, e)) {
-                                again();
-                                return;
-                            }
-                            LOGGER.info("instance resolved, saving");
-                            try {
-                                final String fileName = getObserver().dumpsPath + "/" + instance + "_" + new SimpleDateFormat(getObserver().dumpsFormat).format(new Date()) + ".param";
-                                File file = new File(fileName);
-                                new SaveStream(new PrintStreamSink(new PrintStream(file)), instance, new Path(instance, "/"), new StateFunctor() {
-                                    @Override
-                                    public void call(Exception e) {
-                                        Logging.log(LOGGER, "periodic dump in " + fileName + " of", DiagnosticsEndpoint.this.instance, e);
-                                        again();
-                                    }
-                                });
-                            } catch (IOException ex) {
-                                LOGGER.info("failed to initiate dump: " + ex);
-                                again();
-                            }
+					log.info("starting periodic dump");
+					new RecursiveFetcher(instance, instance.getRootPath(), new StateFunctor() {
+						@Override
+						public void call(Exception e) {
+							if (Logging.log(log, "recursively fetch", instance, e)) {
+								again();
+								return;
+							}
+							log.info("instance resolved, saving");
+							try {
+								final String fileName = getObserver().dumpsPath + "/" + instance + "_" + new SimpleDateFormat(getObserver().dumpsFormat).format(new Date()) + ".param";
+								File file = new File(fileName);
+								new SaveStream(new PrintWriterSink(new PrintWriter(file)), instance, instance.getRootPath(), new StateFunctor() {
+									@Override
+									public void call(Exception e) {
+										Logging.log(log, "periodic dump in " + fileName + " of", DiagnosticsEndpoint.this.instance, e);
+										again();
+									}
+								});
+							} catch (IOException ex) {
+								log.info("failed to initiate dump: " + ex);
+								again();
+							}
 
-                        }
-                    });
+						}
+					});
 
 
-                }
-            };
-        }
-    }
+				}
+			};
+		}
+	}
 
-    /*
-    @Override
-    public void onChange(Path path) {
-        super.onChange(path);    //To change body of overridden methods use File | Settings | File Templates.
-    }
-    */
+	/*
+	@Override
+	public void onChange(Path path) {
+		super.onChange(path);    //To change body of overridden methods use File | Settings | File Templates.
+	}
+	*/
 }
