Instead of firing a pre and post events, what about firing just a `RESOLVE` event and having the listener being the resolver? That would allow much more flexibility and be more efficient than firing a pre and a post event.