Keys are working but extremely wonky. Will require a lot of work to make them reasonable. Cleaned up the constructor, separating removing functionality that shouldn't have been there. Added accessor methods for private member variables.