allow call init method several times.

It is really hard to controller how many times init method. It could be called in app code and some 3rd party bundles.