New 'Value' class.
Use Value in the Bucket class.
Use the Value throughout the code.
Code cleanup.
Fix for the case where a bucket may stick to the line incorrectly.

For example,

1. Place 1 and 2.
2. Move 2 to the left of 1
3. Place 3 between 1 and 2

Final order: 2 3 1