Using isinstance on self is a giant anti-pattern, this would be much better factored out into a method call.