add default login/logout logic with callbacks