Changed Engine interface and its simple implementation.