framework: init & flag meta data

- [x] add test
- [x] make line90-107 a utility function, so that we can reuse it at line 111.
- [x] should parent or child indicate that comment is for both method
I think we can get rid of the func args pretty easily:
```go
func (f *framework) watchAll(who string, taskIDs[]uint64) {
    ...
    switch who { 
    case "partent":
    // set up funcs 
    case "child":
    // set up funcs
    }
}
```