MultiKeyPipelineBase and PipelineBase made public in order to make Pipeline and transaction mockable with Mockito