refactors active model impersonation methods into a separate module