Removed the duplicate component pointers on the engine class, and reduced the asymptotic complexity of get_component() from O(N) to O(1).