Add sub-model addition/removal. Add unit tests. Project rearrangement.