in reply to Creating a module with POE

Set POE_ASSERT_DEFAULT=1 in your shell environment before running the program. That will turn many slightly bad practices into nasty fatal errors. POE::Kernel documents it as ASSERT_DEFAULT, and it explains the specific ASSERT_* flags you can toggle individually.