abstract sclass DynGazelleBot > DynPrintLogAndEnabled { switchable S _user; switchable S _botToken; new Gazelle_GrabPostsLoop grabLoop; start-thread { dm_copyFieldsToObject(grabLoop, "_user", "_botToken", "enabled"); grabLoop.verbose = true; grabLoop.onChange(r change); grabLoop.handlePost = post -> enter { handlePost(post); }; grabLoop.run(); } swappable void handlePost(GazellePost post) { } }