Refactor for using less contexts and tell the story better
Refactor. Avoid making work in constructor. Move registration to run method