I'll clean up the whole constructor. It has become an ugly beast with too much shared state.