refactor installer to use a more functional approach

operations now take options and not the Installer class itself