Fix: Product edit page data binding need to wait until product data loaded, otherwise sometimes the button click event binding will lose
Documentation: Rename DomainEvent to BusinessEvent
Misc bug fixes and refactoring