Add documentation for module and change factory method names.