How can I unload/reload a script ? and if its actually possible

Yes, I’m trying out now with extensions, but I cannot dynamically unload it either. Not even from UI.

This makes development really tedious.
A solution would be to place all my code into a single class and at reload to destroy the old instance and create a new one.