implemented observer pattern for boardui