Added ability to customize presentation and ability to programmatically close