plugin domain and persistence implementation