Revamped module loading; added events; standardized component