Can you explain the difference between an exogenous and a moderator variable? Both are external to the model, so I'm finding it difficult to discern the difference. In the same vein, what would be the difference between endogenous and mediator variables?