Allowed an optional  parameter
Allowed modules to be passed in as an array of objects or key/val hash