PipetteController : Separation of responsibilities