Added media upload
Refactored components into own bundles