Daemon

Implements what we need for #7 
We might also need to override `__init__` to make our lives and put all the initialization stuff from run there.