Add getDoorTarget() and error-prone movement