Added a skeleton for NetworkManager, and added an implementation of NetworkEvent