Update must be pushed to the EDT to prevent a NPE
DAO cleanup, improved code reuse