error handling: allow nil locations and add warning messages
enumerate uninitialized variables
use booleans to validate objects
enumerate all missing objects
refactor object validation and add the missing test for Object#count