Began to port to Sponge

I think I did most of it, no way to test yet and a few features are still missing.