The parts seem unnecessarily complex. I'd rather just hide the 3 different elements here and then show the one that's passed in