Fixes a bug where the sub location would be incorrectly returned as nil

An empty array should be returned, rather than `[nil]`
Moves WDPA relational value creation in to separate class

Slightly better separation, but still not ideal.