bug fix

1. Copy dependencies array instead of directly assign to avoid override
2. Do not evaluate module multi-times when factory return nothing