Refactor ship / character / location relationship