Added Core::subscribe() to incapsulate Event object