Tightened access modifiers

Scrolled through all members of classes within the gp package,
minimizing external access. The GP class itself will be the essence of
the package, in addition to the Operation interface, which allows
developers to append new operations to the current set.