Add watchOptions option
Add $q promises for init and reinit
Add loadNamespace function