making openHook abstract in Spout trait