checkpoint adding event system in
checkpoint. mostly working.
finished implementing event framework