Move snapshooter to its own class