As mentioned in #304, there is room for improvement with the calling convention of get_model. Some callers are expecting None if there is no model. Others expect an exception. We should standardize on a convention and allow for differentiation between no model and an infrastructure exception.