Plugin-based software development framework