#24 Moved plugin code to the dedicated plugin/ directory