It turned out to be a useless abstractions, which causes more problems than solving it: - Harder to read code - Harder to test - It almost not reused in practice.