Reducing the complexity of ProjectController::add()