Fix hold functionality, move ADSR to own file