Refactor Modules to be declared by the classes they inject. Added Documentation.