Move Public to Application, add Modules implementation