introducing Y.Dispatcher and Y.PNM.Logic to separate the business logic from the app definition