More model cruft, plus unit tests.  FilePath still needs some work, hence the tests have been left to fail at this point