Hi Ben,
Apologies on the late reply!
I recommend using the onInitialize to get at an instance of engine, onInitialize is guaranteed to be called with engine when initialized by Excalibur. Additionally, I recommend putting any initiailzation logic in onInitiailze on any Excalibur entity that has an onInitialize.
Referencing this.engine in ex.Scene can be null if it has not yet been added to an engine. Which could be an issue depending on how your game builds, initiailizes, and adds scenes. In fact we probably should make it a private or protected member to avoid confusion and steer folks towards onInitialize as the best way to get at a reference to engine.
Let me know if there are more questions,
Erik