drop recursive merging data for views so it will not throw on maximum callstack for recursion
emit ready event even if app doesn't start any http[s] server
app ready event replaced with start
updated callMiddlewares method so we can use custom events for it
emit some more events for middlewares