Change application structure, add new messages system, make more modular