Pull helper methods out into an engine for sharing