Fix #20 refactored the broker into multiple files and added Comments