Hello - this looks like a good candidate for the subD modeling tools in the V7/WIP -
You could certainly do it with surfaces but to do it cleanly would be a job.
-Pascal