refactor(module): chain the recipes registration

This way of registering providers eliminates the risk of creating superfluous (potentially global!) variables.
Merge branch 'refactor'