Recursive Object Reference

Each object in the system have a key, but for convenience, we define Object Reference, which allows us to search the objects by name. While most object references are of single string value (such as Name), there are complex ones, such as string and number (Task Call-ID and Number), and even more complex than that, like in the following example, string and key (the Engineer's object reference was changed here to ID and District). I have added a new feature that recursively fetches objects, so there is no need to use keys in most searches.