First cut at location abstraction in preparation for filesystem locations