This is what advanced custom fields has been doing for a while now.