Working out new class and event system