added the selectedTopCloseCallback callback, which is documented but not actually implemented,
also passed 'self' through both selectedTopOpenCallback and selectedTopCloseCallback to be able to reference it in the funciton i pass