added error handling
moved components out of app
extracted core assets to separate directory. May move them out of plato core
added tests
added components and component loading/writing