Accept providers without onInit and onFini
Add contrib system to ease development
Merge remote-tracking branch 'simark/oninit_onfini'

Closes #4