Rename context to module
Rework context into module, add macro to use it.