Refactored property analysis and introduced property types [closes #15]