initial code for epoch related events

It does not work yet, I just want to get some early feedback. I will work on the test if this point to right direction.
Since there is a lot of panics now, I am wondering if we should return error for Start()?