add the idea of processors, so data can be handled by modules without having to insert hooks everywhere