separation of concerns - move uf specific code to uf classes
add a few comment blocks
Merge pull request #3320 from eileenmcnaughton/ufcleanup

Monish kindly QAd this (& picked up a since fixed error)