Hmm... I've found that having components call functions directly in other components creates a more serious maintenance problem. In this case there are two independent components, the toolbar and the page preview. With custom events, the toolbar doesn't have to know anything about the page preview. It doesn't even need to know that a page preview component exists. Similarly, the page preview component doesn't have to know about the operation of the toolbar. It just says "please tell me if/when the user requests a full screen mode"