Extracted most of Sponge implementation into a mod