Move zooming function into singleton service