Replace custom lifecycle with AS::Notifications

Supersedes localshred/protobuf#138

---

@localshred