Made replay a core concern. Removed replay module. DejaVuEngine is no longer abstract. ImpureHandler replaced by an around advice structure