Blink has a number of lifecycle observers. Some of the observers do similar things. Some of the observers do unexpected things (than things you expect from the method names). The behaviors are not documented. Consequently, the observers are wrongly used in many places in the code base. We should clean up the observers and add good documentation.
Design doc: https://docs.google.com/document/d/1ji_010aI_OCQon08VATF_0dthK_GCHfPZ8CHblkaohs/edit#