Refactor spec suite to use a namespace and private/protected method lookup