Major refactoring to ModelConstructor

Also fixed more yucky exception problems, added some graceful failing
and made the input pause-able.