refactor: Move almost all implementations in *.cpp files (except getters/setters)
refactor: Rename utils.h to observer.h