refactored to put container methods in a separate module
now raises exception when bike is taken from an empty dock