Moved bucket code into a sub-package and renamed to XXXOutputBucket
Added an interface to the Buckets