Pushpin refactoring and cleanup