I just committed a blocking constructor version, the only issue is that akka doesn't support a wait-forever pattern, I have to make some hard coding here: if the supervisor cannot start within 30 seconds, we assume something wrong happened and throws Exception