New shiny documentation, and some minor goodies

I've written a documentation explaining all the possible options. 

Also I added few helper functions, mainly to ease using the on_aggregate callback.