Move the initialization parameter to constructors

As we discussed, for different initialization ways (join / static config / recover from log) we have different constructors.