Adding Event pool and factory and StreamEvent
adding copyFrom to the event