Split project into separate files for each class; revised SetName() error handling
Merge commit 'a7283e2131bac0ddc9e132cc755d33978cae7f02'