chore($scaling): move scaling logic to scaling "module"
closes #1061
closes #1136
closes #1139