post_processors

More or less this is what  we have discussed on. This is still messy, will squash the commit if there are further changes.


We still need to decide on:
1. ~~What optimization utilities we need to support~~ (User defined on settings)
2. ~~Whether we should clean up the /tmp/workfile folders~~ (Yes, delete temp files)
3. ...