The scariest abstraction so far: introducing MCSystem to unify plain MCMC routines, MCMC tasks and MPI MCMC