clean up and error handling in PendingAssignment, mem leak fixes, further isolation of model details inside of ExecutableModel interface