coverted mock_it to return a mock instance and added new function mock_as_property for the old behaviour