Move admin_protect to a more generic module