Added: Implementations that allows passing instance instead of requiring to be constructed.