Currently, if you have a split (or more) then closing a buffer will just close the buffer and not the split, which doesn't feel like the expected thing to do - it should close the pane (and the buffer).
This will need looping through winnr('$') and counting the number of wins that respond true to IsEditable().
Will also need to not close the buffer (ie just the pane), if the pane's buffer is also open elsewhere.