#54 encapsulate implementation of faucet 'shooter' in ShooterNode inner type