Zu Beginn der Saison 2009/10 wurde er trotz guter Leistungen im Trainingslager zum Farmteam der Avalanche, den Lake Erie Monsters, in die American Hockey League (AHL) geschickt.[2] Sein Debüt in der NHL gab Stoa am 13. Dezember 2009 gegen die Calgary Flames, sein erstes NHL-Tor erzielte er am 9. April 2010 gegen die Chicago Blackhawks. Auch die folgende Saison begann Stoa bei den Lake Erie Monsters in der AHL, ehe er nach guten Leistungen im Januar 2011 wieder in den NHL-Kader der Colorado Avalanche berufen wurde. Im Juli 2012 unterzeichnete Stoa als Free Agent einen Einjahresvertrag bei den Washington Capitals.
Nach insgesamt zwei Jahren in Washington wechselte Stoa im Juli 2014 zum russischen KHL-Vertreter Metallurg Nowokusnezk.[3] In seiner ersten KHL-Saison erzielte er in 60 Partien je 15 Tore und Assists. Im Februar 2015 erhielt er daraufhin einen Vertragsverlängerung um ein Jahr.[4] Im November 2015 wurde er gegen Zahlung einer Entschädigung an Neftechimik Nischnekamsk abgegeben.[5] Nach der Saison 2015/16 erhielt er keinen neuen Vertrag bei Neftechimik und wechselte daher zum HK Spartak Moskau, für den er in den folgenden zwei Jahren 114 KHL-Partien absolvierte. Nach Ablauf seines Vertrages wurde er im Mai 2018 vom HK Traktor Tscheljabinsk verpflichtet.[6]
Nach fünf Spielzeiten in der KHL verließ Stoa die Liga und wurde im Juli 2019 vom Örebro HK aus der Svenska Hockeyligan (SHL) verpflichtet.[7] Zu Beginn der Saison 2020/21 wechselte Stoa innerhalb der SHL zu HV71.[8] Nach elf Spielen ohne Scorerpunkt wurde er aus seinem Vertrag entlassen und anschließend von der Djurgårdens IF verpflichtet. Für den Klub aus Stockholm erzielte er in 13 Spielen acht Scorerpunkte, bevor er mit diesem in der ersten Playoff-Runde ausschied. Im Juni 2021 unterzeichnete er einen Einjahresvertrag bei den Nürnberg Ice Tigers aus der Deutschen Eishockey Liga (DEL).
(Legende zur Spielerstatistik: Sp oder GP = absolvierte Spiele; T oder G = erzielte Tore; V oder A = erzielte Assists; Pkt oder Pts = erzielte Scorerpunkte; SM oder PIM = erhaltene Strafminuten; +/− = Plus/Minus-Bilanz; PP = erzielte Überzahltore; SH = erzielte Unterzahltore; GW = erzielte Siegtore; 1Play-downs/Relegation; Kursiv: Statistik nicht vollständig)