Instead of having python class Action with method apply and unapply, and js class Action with method apply and unapply, try having only one python Action class with apply_backend/unapply_backend/apply_frontend(dom)/unapply_frontend(dom).
Use transcrypt to generate the JS classes so we can pass a dom element argument.