add memoizable gem
refactor in one file

for receivers and sources (never committed)
add session, create session on boot
use session to retrieve receivers
add rainbow at the top of the file (99c27b5603dbec6f5aa8d3b8fa02587b77491507)
add no log option

When you don't need to write what just happen