Add generic modal component