added tests for Loading then editing an Objective; in order to implement cancel I pass in a context factory in the vm instead of a context instance
added contextFactory in MainViewModel