Network event feat

@SvinSimpe @Mioa @svekai 
Lots of shit done since last pull request :<
Review please
Allocation with new? Does this need to happen or can it be allocated on stack? Guessing this function will be called very often.