Add context manager support