Decoupling from XOM using interfaces