Reintroduced variadic method to Barrier because it makes the syntax easier.
diff --git a/barrier.go b/barrier.go
index 6c6de78..62f71b4 100644
--- a/barrier.go
+++ b/barrier.go
@@ -2,7 +2,7 @@
 
 type Barrier []*Sequence
 
-func NewBarrier(upstream []*Sequence) Barrier {
+func NewBarrier(upstream ...*Sequence) Barrier {
 	buffer := make([]*Sequence, len(upstream))
 	copy(buffer, upstream)
 	return Barrier(buffer)
diff --git a/example/main.go b/example/main.go
index 75fafff..4844aa9 100644
--- a/example/main.go
+++ b/example/main.go
@@ -12,10 +12,10 @@
 	runtime.GOMAXPROCS(MaxConsumers + 1)
 
 	producerSequence := disruptor.NewSequence()
-	producerBarrier := disruptor.NewBarrier([]*disruptor.Sequence{producerSequence})
+	producerBarrier := disruptor.NewBarrier(producerSequence)
 
 	consumers := startConsumers(producerBarrier, producerSequence)
-	consumerBarrier := disruptor.NewBarrier(consumers)
+	consumerBarrier := disruptor.NewBarrier(consumers...)
 
 	sequencer := disruptor.NewSingleProducerSequencer(producerSequence, RingSize, consumerBarrier)
 	publish(sequencer)