Add annotations
Make build thread safe

To avoid deadlock issues, all variable were moved from heap to stack so that we can removed sychronization from BeakerBuilder.
Also previous solution wasn't sufficient and race conditions still occured. Now everything seems to work properly.