What script order issues are you having?
As long as you set Open Framework as the #1 script in TamperMonkey, and all scripts that use WKOF make use of the built-in load events:
wkof.include('ItemData,Settings,Menu');
wkof.ready('Menu').then(load_menu);
wkof.ready('ItemData').then(load_items);
function load_menu() { ... }
function load_items() { ... }
…that is sufficient for most cases I’ve encountered so far. Internally, this is just registering callbacks, very similar to your custom event listeners.