Join `sourceRoot` and `destinationRoot` logic together

Logic for these method was split in base.js and actions.js. Now they're
merged back together.