Properly handle self during init