add pre- and post-install hooks; generalize base private and work installs