A similar story was told to me about Joe Weisbecker when he was working in the RCA research laboratories. He came to management with an idea for a general purpose video game system. After rejection, he built it anyway in his garage and called it FRED (something like fun, recreational, education device).
When microprocessors just started taking off, management came back to Joe and made FRED into it's first microprocessor, the 1801 and RCA created it's first video game system called Studio. The 1800 family had a very intriguing architecture. It had 16 general purpose registers. And by general purpose, I mean that you had to specify which one would be the program pointer, which one would be the stack pointer, and so on. You could change them at will in your program so you could switch the program pointer register to make a subroutine call with virtually no overhead as long as the last subroutine instruction put it back to the calling procedure's pointer. Putting a value in the accumulator automatically set the status flags. It took me many hours make my first 8008 program work since I was expecting the "zero" flag to be set when I loaded the accumulator with a zero value, silly me. It also had an instruction pipe so almost every instruction (except for long ones) took exactly 8 clock cycles (long took 12). This made it trivial to figure out how long your program would take (just count the instructions) or write UART functionality. It was a perfect design for a micro controller. The big drawback was cost as it was fabricated in SOS CMOS so it could be radiation resistant in satellite applications.
Joe was an interesting character. I have a book he wrote that describes how computers work by using pennies.