coverted mock_it to return a mock instance and added new function mock_as_property for the old behaviour
Added fake_as_property function and converted fake it to return a mock instance