Update Plugin classes to use singleton pattern