Rename events; consolidate functions into Observer