overhauled SimonFlash class structure