Simplify constructor

See the individual commits for more info.