Started to use a facade pattern to abstract logic