Make scale service more generic