[refactor] made BambooStorage listener abstract class instead of interface to add ability of adding new methods without interrupting existing clients