Moved broker() to its own file and did a full overhaul.