Misc. cleanups

Does anything call construct() other than deserialize()?  If not, you could move the implementation of construct() inside deserialize().  Not mandatory, just a thought.