Refactor Layout constructor a little, now it really can't be inherited from.