Refactored several repository methods to only accept single closure that always returns an object instance in attempt to improve readability - uses the null-object pattern to return empty instances when not found.