Refactor bootstrappers to work individually.

* Bootstrappers have their own unique callback functions (must be defined by the user).
* The core bootstrapper now use the individual bootstrappers.