Feature/129 tdtm error handling

There are some additional features/enhancements that we could implement, but I believe this is a nice base design. (Notes on additional features/enhancements are in the shared Google Drive.)