Had to wrap Step in shared_ptr for python wrapping