adding serializable to the core classes for data and events, so that they can passed around