Improved Tests and Refactored ObjectAbstract to pass